KNOX-459 - added null checks to the closing of resultEnums to avoid NPEs

Project: http://git-wip-us.apache.org/repos/asf/knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/34b72b05
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/34b72b05
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/34b72b05

Branch: refs/heads/v0.5.1
Commit: 34b72b05be730c7b96aa9ac1380c040d0e8eb41b
Parents: 5486e0e
Author: Larry McCay <lmc...@hortonworks.com>
Authored: Mon Nov 3 14:14:19 2014 -0500
Committer: Larry McCay <lmc...@hortonworks.com>
Committed: Fri Nov 21 15:58:37 2014 -0500

----------------------------------------------------------------------
 .../hadoop/gateway/shirorealm/KnoxLdapRealm.java    | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/knox/blob/34b72b05/gateway-provider-security-shiro/src/main/java/org/apache/hadoop/gateway/shirorealm/KnoxLdapRealm.java
----------------------------------------------------------------------
diff --git 
a/gateway-provider-security-shiro/src/main/java/org/apache/hadoop/gateway/shirorealm/KnoxLdapRealm.java
 
b/gateway-provider-security-shiro/src/main/java/org/apache/hadoop/gateway/shirorealm/KnoxLdapRealm.java
index f9fc79c..1cf9fd8 100644
--- 
a/gateway-provider-security-shiro/src/main/java/org/apache/hadoop/gateway/shirorealm/KnoxLdapRealm.java
+++ 
b/gateway-provider-security-shiro/src/main/java/org/apache/hadoop/gateway/shirorealm/KnoxLdapRealm.java
@@ -274,10 +274,14 @@ public class KnoxLdapRealm extends JndiLdapRealm {
     }
     finally {
       try {
-        attributeEnum.close();
+        if (attributeEnum != null) {
+          attributeEnum.close();
+        }
       }
       finally {
-        e.close();
+        if (e != null) {
+          e.close();
+        }
       }
     }
   }
@@ -474,7 +478,9 @@ public class KnoxLdapRealm extends JndiLdapRealm {
     finally {
       if (searchResultEnum != null) {
         try {
-          searchResultEnum.close();
+          if (searchResultEnum != null) {
+            searchResultEnum.close();
+          }
         }
         finally {
           LdapUtils.closeContext(systemLdapCtx);
@@ -534,7 +540,9 @@ public class KnoxLdapRealm extends JndiLdapRealm {
         throw new IllegalArgumentException("Hit NamingException: " + 
e.getMessage());
       } finally {
         try {
-          searchResultEnum.close();
+          if (searchResultEnum != null) {
+            searchResultEnum.close();
+          }
         } catch (NamingException e) {
         }
         finally {

Reply via email to