mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-23 08:09:34 -05:00
ITS#6981 don't free entries prematurely
This commit is contained in:
parent
f502695c81
commit
877ebdf5ef
1 changed files with 6 additions and 6 deletions
|
|
@ -1414,7 +1414,8 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
|
||||||
Statslog( LDAP_DEBUG_STATS2, "%s ENTRY dn=\"%s\"\n",
|
Statslog( LDAP_DEBUG_STATS2, "%s ENTRY dn=\"%s\"\n",
|
||||||
op->o_log_prefix, rs->sr_entry->e_nname.bv_val, 0, 0, 0 );
|
op->o_log_prefix, rs->sr_entry->e_nname.bv_val, 0, 0, 0 );
|
||||||
|
|
||||||
rs_flush_entry( op, rs, NULL );
|
if ( rs->sr_flags & REP_ENTRY_MUSTRELEASE )
|
||||||
|
rs_flush_entry( op, rs, NULL );
|
||||||
|
|
||||||
if ( op->o_res_ber == NULL ) {
|
if ( op->o_res_ber == NULL ) {
|
||||||
bytes = send_ldap_ber( op, ber );
|
bytes = send_ldap_ber( op, ber );
|
||||||
|
|
@ -1580,7 +1581,8 @@ slap_send_search_reference( Operation *op, SlapReply *rs )
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = 0;
|
rc = 0;
|
||||||
rs_flush_entry( op, rs, NULL );
|
if ( rs->sr_flags & REP_ENTRY_MUSTRELEASE )
|
||||||
|
rs_flush_entry( op, rs, NULL );
|
||||||
|
|
||||||
#ifdef LDAP_CONNECTIONLESS
|
#ifdef LDAP_CONNECTIONLESS
|
||||||
if (!op->o_conn || op->o_conn->c_is_udp == 0) {
|
if (!op->o_conn || op->o_conn->c_is_udp == 0) {
|
||||||
|
|
@ -1616,15 +1618,13 @@ slap_send_search_reference( Operation *op, SlapReply *rs )
|
||||||
|
|
||||||
Debug( LDAP_DEBUG_TRACE, "<= send_search_reference\n", 0, 0, 0 );
|
Debug( LDAP_DEBUG_TRACE, "<= send_search_reference\n", 0, 0, 0 );
|
||||||
|
|
||||||
if ( 0 ) {
|
|
||||||
rel:
|
rel:
|
||||||
rs_flush_entry( op, rs, NULL );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( op->o_callback ) {
|
if ( op->o_callback ) {
|
||||||
(void)slap_cleanup_play( op, rs );
|
(void)slap_cleanup_play( op, rs );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rs_flush_entry( op, rs, NULL );
|
||||||
|
|
||||||
if ( rs->sr_flags & REP_CTRLS_MUSTBEFREED ) {
|
if ( rs->sr_flags & REP_CTRLS_MUSTBEFREED ) {
|
||||||
rs->sr_flags ^= REP_CTRLS_MUSTBEFREED; /* paranoia */
|
rs->sr_flags ^= REP_CTRLS_MUSTBEFREED; /* paranoia */
|
||||||
if ( rs->sr_ctrls ) {
|
if ( rs->sr_ctrls ) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue