From: Mathieu Date: Thu, 1 Dec 2022 04:30:33 +0000 (+0100) Subject: Protect against mutability of LdapName X-Git-Tag: v2.3.13~4 X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=2d03ab4e190755ec5d35a657ae711e5dc02b4fe6 Protect against mutability of LdapName --- diff --git a/org.argeo.cms/src/org/argeo/cms/directory/ldap/DefaultLdapEntry.java b/org.argeo.cms/src/org/argeo/cms/directory/ldap/DefaultLdapEntry.java index 94ff20b03..94e0ac46d 100644 --- a/org.argeo.cms/src/org/argeo/cms/directory/ldap/DefaultLdapEntry.java +++ b/org.argeo.cms/src/org/argeo/cms/directory/ldap/DefaultLdapEntry.java @@ -74,7 +74,8 @@ public class DefaultLdapEntry implements LdapEntry { @Override public LdapName getDn() { - return dn; + // always return a copy since LdapName is mutable + return (LdapName) dn.clone(); } public synchronized Attributes getAttributes() { diff --git a/org.argeo.cms/src/org/argeo/cms/directory/ldap/LdapEntryWorkingCopy.java b/org.argeo.cms/src/org/argeo/cms/directory/ldap/LdapEntryWorkingCopy.java index b5afc9dce..58e565a37 100644 --- a/org.argeo.cms/src/org/argeo/cms/directory/ldap/LdapEntryWorkingCopy.java +++ b/org.argeo.cms/src/org/argeo/cms/directory/ldap/LdapEntryWorkingCopy.java @@ -9,7 +9,7 @@ import org.argeo.api.cms.transaction.AbstractWorkingCopy; public class LdapEntryWorkingCopy extends AbstractWorkingCopy { @Override protected LdapName getId(LdapEntry entry) { - return entry.getDn(); + return (LdapName) entry.getDn().clone(); } @Override