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

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

commit c28a974153d57a19bfa105e1aaea168d58bc2d2f
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