diff --git a/src/share/classes/com/sun/jndi/dns/DnsContext.java b/src/share/classes/com/sun/jndi/dns/DnsContext.java index 24f7343ac70a22dbf2be5da107c690ba4f41aa0b..3c0b6a53137f63f105ec97f5a4633fb87151f268 100644 --- a/src/share/classes/com/sun/jndi/dns/DnsContext.java +++ b/src/share/classes/com/sun/jndi/dns/DnsContext.java @@ -102,7 +102,7 @@ public class DnsContext extends ComponentDirContext { this.domain = new DnsName(domain.endsWith(".") ? domain : domain + "."); - this.servers = servers; + this.servers = (servers == null) ? null : servers.clone(); this.environment = (Hashtable) environment.clone(); envShared = false; parentIsDns = false; @@ -129,11 +129,11 @@ public class DnsContext extends ComponentDirContext { * no conflict. */ private DnsContext(DnsContext ctx) { - environment = ctx.environment; + environment = ctx.environment; // shared environment, copy-on-write envShared = ctx.envShared = true; parentIsDns = ctx.parentIsDns; domain = ctx.domain; - servers = ctx.servers; + servers = ctx.servers; // shared servers, no write operation resolver = ctx.resolver; authoritative = ctx.authoritative; recursion = ctx.recursion; diff --git a/src/share/classes/com/sun/jndi/ldap/BasicControl.java b/src/share/classes/com/sun/jndi/ldap/BasicControl.java index d068704142a2d588a9fa3879e1e2715176e47837..007a40cb2e5d081411e65ffd5b0fac6fab0167da 100644 --- a/src/share/classes/com/sun/jndi/ldap/BasicControl.java +++ b/src/share/classes/com/sun/jndi/ldap/BasicControl.java @@ -81,7 +81,7 @@ public class BasicControl implements Control { this.id = id; this.criticality = criticality; if (value != null) { - this.value = value; + this.value = value.clone(); } }