mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
muck with flags only when needed (ITS#5898)
This commit is contained in:
parent
8f7ec6b6ca
commit
97bd3479c4
@ -452,12 +452,13 @@ dynlist_prepare_entry( Operation *op, SlapReply *rs, dynlist_info_t *dli )
|
|||||||
o.o_groups = NULL;
|
o.o_groups = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
e_flags = rs->sr_flags;
|
||||||
if ( !( rs->sr_flags & REP_ENTRY_MODIFIABLE ) ) {
|
if ( !( rs->sr_flags & REP_ENTRY_MODIFIABLE ) ) {
|
||||||
e = entry_dup( rs->sr_entry );
|
e = entry_dup( rs->sr_entry );
|
||||||
|
e_flags |= ( REP_ENTRY_MODIFIABLE | REP_ENTRY_MUSTBEFREED );
|
||||||
} else {
|
} else {
|
||||||
e = rs->sr_entry;
|
e = rs->sr_entry;
|
||||||
}
|
}
|
||||||
e_flags = rs->sr_flags | ( REP_ENTRY_MODIFIABLE | REP_ENTRY_MUSTBEFREED );
|
|
||||||
|
|
||||||
dlc.dlc_e = e;
|
dlc.dlc_e = e;
|
||||||
dlc.dlc_dli = dli;
|
dlc.dlc_dli = dli;
|
||||||
@ -855,6 +856,8 @@ done:;
|
|||||||
|
|
||||||
if ( r.sr_flags & REP_ENTRY_MUSTBEFREED ) {
|
if ( r.sr_flags & REP_ENTRY_MUSTBEFREED ) {
|
||||||
entry_free( r.sr_entry );
|
entry_free( r.sr_entry );
|
||||||
|
r.sr_entry = NULL;
|
||||||
|
r.sr_flags ^= REP_ENTRY_MUSTBEFREED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user