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 {