This is an automated email from the ASF dual-hosted git repository.

smolnar82 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git


The following commit(s) were added to refs/heads/master by this push:
     new 8342af3d3 KNOX-3342: Fixed NPE in HadoopGroupFilter when hadoopGroups 
instance wasn't set (#1253)
8342af3d3 is described below

commit 8342af3d3186d536504fd64c2c3af4865a78e795
Author: Sandor Molnar <[email protected]>
AuthorDate: Wed Jun 10 10:21:53 2026 +0200

    KNOX-3342: Fixed NPE in HadoopGroupFilter when hadoopGroups instance wasn't 
set (#1253)
---
 .../hadoop/groups/filter/HadoopGroupProviderFilter.java     |  2 +-
 .../hadoop/groups/filter/HadoopGroupProviderFilterTest.java | 13 +++++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git 
a/gateway-provider-identity-assertion-hadoop-groups/src/main/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilter.java
 
b/gateway-provider-identity-assertion-hadoop-groups/src/main/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilter.java
index e819e1a7a..ae3936d67 100644
--- 
a/gateway-provider-identity-assertion-hadoop-groups/src/main/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilter.java
+++ 
b/gateway-provider-identity-assertion-hadoop-groups/src/main/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilter.java
@@ -130,7 +130,7 @@ public class HadoopGroupProviderFilter extends 
CommonIdentityAssertionFilter {
 
   protected List<String> hadoopGroups(String mappedPrincipalName) throws 
Exception {
     if (ldapService == null) {
-      return hadoopGroups.getGroups(mappedPrincipalName);
+      return hadoopGroups == null ? List.of() : 
hadoopGroups.getGroups(mappedPrincipalName);
     } else {
       LOG.useKnoxLDAPService();
       return ldapService.getUserGroups(mappedPrincipalName);
diff --git 
a/gateway-provider-identity-assertion-hadoop-groups/src/test/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilterTest.java
 
b/gateway-provider-identity-assertion-hadoop-groups/src/test/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilterTest.java
index f85d3f260..52dad11ad 100644
--- 
a/gateway-provider-identity-assertion-hadoop-groups/src/test/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilterTest.java
+++ 
b/gateway-provider-identity-assertion-hadoop-groups/src/test/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilterTest.java
@@ -272,6 +272,19 @@ public class HadoopGroupProviderFilterTest {
             new HashSet<>(Arrays.asList("hadoop-group", 
"test-virtual-group")), calculatedGroups);
   }
 
+  @Test
+  public void testHadoopGroupsIsNull() throws Exception {
+    final HadoopGroupProviderFilter filter = new HadoopGroupProviderFilter();
+
+    final Subject subject = new Subject();
+    subject.getPrincipals().add(new PrimaryPrincipal(username));
+
+    // no init() method called -> hadoopGroups is null
+    final String[] groups = filter.mapGroupPrincipals(username, subject);
+
+    assertThat(groups.length, is(0));
+  }
+
   @Test
   public void testLdapServiceIntegration() throws Exception {
     KnoxLDAPService ldapService = 
EasyMock.createNiceMock(KnoxLDAPService.class);

Reply via email to