# HG changeset patch # User coffeys # Date 1460358021 -3600 # Node ID fe453cb558d3912272e1f4e586e2e5ba97884b9d # Parent c54643d2a32b1c14aa34e3b0a8c8d845aad3928f 8149450: LdapCtx.processReturnCode() throwing Null Pointer Exception Reviewed-by: xuelei diff -r c54643d2a32b -r fe453cb558d3 src/share/classes/com/sun/jndi/ldap/LdapCtx.java --- a/src/share/classes/com/sun/jndi/ldap/LdapCtx.java Tue Jul 18 06:45:42 2017 +0100 +++ b/src/share/classes/com/sun/jndi/ldap/LdapCtx.java Mon Apr 11 08:00:21 2016 +0100 @@ -2975,7 +2975,8 @@ r = new LdapReferralException(resolvedName, resolvedObj, remainName, msg, envprops, fullDN, handleReferrals, reqCtls); // only one set of URLs is present - r.setReferralInfo(res.referrals.elementAt(0), false); + r.setReferralInfo(res.referrals == null ? null : + res.referrals.elementAt(0), false); if (hopCount > 1) { r.setHopCount(hopCount); @@ -3044,7 +3045,7 @@ * assume name resolution has not yet completed. */ if (((res.entries == null) || (res.entries.isEmpty())) && - (res.referrals.size() == 1)) { + ((res.referrals != null) && (res.referrals.size() == 1))) { r.setReferralInfo(res.referrals, false); diff -r c54643d2a32b -r fe453cb558d3 src/share/classes/com/sun/jndi/ldap/LdapReferralException.java --- a/src/share/classes/com/sun/jndi/ldap/LdapReferralException.java Tue Jul 18 06:45:42 2017 +0100 +++ b/src/share/classes/com/sun/jndi/ldap/LdapReferralException.java Mon Apr 11 08:00:21 2016 +0100 @@ -217,13 +217,15 @@ System.out.println("LdapReferralException.setReferralInfo"); this.referrals = referrals; - if (referrals != null) { - referralCount = referrals.size(); - } + referralCount = (referrals == null) ? 0 : referrals.size(); if (debug) { - for (int i = 0; i < referralCount; i++) { - System.out.println(" [" + i + "] " + referrals.elementAt(i)); + if (referrals != null) { + for (int i = 0; i < referralCount; i++) { + System.out.println(" [" + i + "] " + referrals.elementAt(i)); + } + } else { + System.out.println("setReferralInfo : referrals == null"); } } }