diff --git a/CHANGES b/CHANGES index 97c950152ea6f961d6e513451cbf2aa5703b7d37..cdb2d6b3a09c5a110ff1e2d477278e51f8faa137 100644 --- a/CHANGES +++ b/CHANGES @@ -13,6 +13,7 @@ OpenLDAP 2.4.20 Engineering Fixed slapd-ldap leak (ITS#6326) Fixed slapd-relay bind segfault (ITS#6337) Fixed slapo-memberof operational attr updates (ITS#6329) + Fixed slapo-pcache entry dupe (ITS#6310) Fixed slapo-syncprov deadlock (ITS#6335) Build Environment Fixed slapd MAXPATHLEN handling (ITS#6342) diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c index 309a192771ae367fbc8e2f9bc2056fe7b0f50a96..bfd1cd30db6fbe9a863756cb9e9eadfa907cdce9 100644 --- a/servers/slapd/overlays/pcache.c +++ b/servers/slapd/overlays/pcache.c @@ -836,6 +836,7 @@ merge_entry( slap_callback cb = { NULL, slap_null_cb, NULL, NULL }; + e = entry_dup( e ); attr = e->e_attrs; e->e_attrs = NULL; @@ -877,7 +878,7 @@ merge_entry( } } else { if ( op->ora_e == e ) - be_entry_release_w( op, e ); + entry_free( e ); rc = 1; }