diff --git a/src/share/classes/com/sun/jndi/ldap/BerDecoder.java b/src/share/classes/com/sun/jndi/ldap/BerDecoder.java index 44b46f844b824f6bf32c73affe577e74be127a1c..55b46d36322d1077678b6e22e1b37a308aec5790 100644 --- a/src/share/classes/com/sun/jndi/ldap/BerDecoder.java +++ b/src/share/classes/com/sun/jndi/ldap/BerDecoder.java @@ -42,7 +42,7 @@ public final class BerDecoder extends Ber { */ public BerDecoder(byte buf[], int offset, int bufsize) { - this.buf = buf; + this.buf = buf; // shared buffer, be careful to use this class this.bufsize = bufsize; this.origOffset = offset; diff --git a/src/share/classes/com/sun/jndi/ldap/BerEncoder.java b/src/share/classes/com/sun/jndi/ldap/BerEncoder.java index fc8566dad4906c1686f51a1eee56235ec9c23e6f..a641b0dd7a46bcf26fe31856671337f00919a378 100644 --- a/src/share/classes/com/sun/jndi/ldap/BerEncoder.java +++ b/src/share/classes/com/sun/jndi/ldap/BerEncoder.java @@ -99,7 +99,7 @@ public final class BerEncoder extends Ber { if (curSeqIndex != 0) { throw new IllegalStateException("BER encode error: Unbalanced SEQUENCEs."); } - return buf; + return buf; // shared buffer, be careful to use this method. } /** diff --git a/src/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java b/src/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java index 737036155ce3612d4f76a2818c587789e10a2c60..28745bdb0d5003925f74fc7a9667746f5ad69d0a 100644 --- a/src/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java +++ b/src/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java @@ -134,7 +134,9 @@ final public class StartTlsResponseImpl extends StartTlsResponse { * @see #negotiate */ public void setEnabledCipherSuites(String[] suites) { - this.suites = suites; + // The impl does accept null suites, although the spec requires + // a non-null list. + this.suites = suites == null ? null : suites.clone(); } /**