]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/rwm.c
ITS#6242 need managedsait to replace glue entries with their real values
[openldap] / servers / slapd / overlays / rwm.c
index 93b1ae33b053ad019f74c7008c3e056c7c9a6345..09675bb004765641aa4facee11d98b7207354699 100644 (file)
@@ -823,7 +823,7 @@ rwm_entry_release_rw( Operation *op, Entry *e, int rw )
        }
 
        /* just free entry if (probably) ours */
-       if ( e->e_private == NULL ) {
+       if ( e->e_private == NULL && BER_BVISNULL( &e->e_bv ) ) {
                entry_free( e );
                return LDAP_SUCCESS;
        }
@@ -879,6 +879,8 @@ rwm_entry_get_rw( Operation *op, struct berval *ndn,
        op2.ors_attrs = slap_anlist_all_attributes;
        rc = op2.o_bd->bd_info->bi_entry_get_rw( &op2, &mndn, oc, at, rw, ep );
        if ( rc == LDAP_SUCCESS && *ep != NULL ) {
+               /* we assume be_entry_release() needs to be called */
+               rs.sr_flags = REP_ENTRY_MUSTRELEASE;
                rs.sr_entry = *ep;
 
                /* duplicate & release */