mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
ITS#3682, dup entry and free the DB's copy before sending it
This commit is contained in:
parent
c899848afb
commit
842b5ce076
@ -976,6 +976,12 @@ syncprov_matchops( Operation *op, opcookie *opc, int saveit )
|
||||
if ( op->o_tag != LDAP_REQ_ADD ) {
|
||||
op->o_bd->bd_info = (BackendInfo *)on->on_info;
|
||||
rc = be_entry_get_rw( op, fc.fdn, NULL, NULL, 0, &e );
|
||||
/* If we're sending responses now, make a copy and unlock the DB */
|
||||
if ( e && !saveit ) {
|
||||
Entry *e2 = entry_dup( e );
|
||||
be_entry_release_rw( op, e, 0 );
|
||||
e = e2;
|
||||
}
|
||||
op->o_bd->bd_info = (BackendInfo *)on;
|
||||
if ( rc ) return;
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user