From a4c2d54127c0e3ba543aa9935f3874033e17ae82 Mon Sep 17 00:00:00 2001 From: Hallvard Furuseth Date: Fri, 31 Dec 2010 18:14:31 +0000 Subject: [PATCH] ITS#6758 result.c:Use rs_*(). Frees entries earlier. For readability, use rs_flush_entry() where slap_send_search_entry() and slap_send_search_reference() release entries before network operations. This change also frees entires marked MUSTBEFREED earlier. --- servers/slapd/result.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/servers/slapd/result.c b/servers/slapd/result.c index e70ac54c08..5d8ef0485d 100644 --- a/servers/slapd/result.c +++ b/servers/slapd/result.c @@ -1354,11 +1354,7 @@ slap_send_search_entry( Operation *op, SlapReply *rs ) Statslog( LDAP_DEBUG_STATS2, "%s ENTRY dn=\"%s\"\n", op->o_log_prefix, rs->sr_entry->e_nname.bv_val, 0, 0, 0 ); - if ( rs->sr_flags & REP_ENTRY_MUSTRELEASE ) { - be_entry_release_rw( op, rs->sr_entry, 0 ); - rs->sr_flags ^= REP_ENTRY_MUSTRELEASE; - rs->sr_entry = NULL; - } + rs_flush_entry( op, rs, NULL ); if ( op->o_res_ber == NULL ) { bytes = send_ldap_ber( op, ber ); @@ -1529,12 +1525,7 @@ slap_send_search_reference( Operation *op, SlapReply *rs ) } rc = 0; - if ( rs->sr_flags & REP_ENTRY_MUSTRELEASE ) { - assert( rs->sr_entry != NULL ); - be_entry_release_rw( op, rs->sr_entry, 0 ); - rs->sr_flags ^= REP_ENTRY_MUSTRELEASE; - rs->sr_entry = NULL; - } + rs_flush_entry( op, rs, NULL ); #ifdef LDAP_CONNECTIONLESS if (!op->o_conn || op->o_conn->c_is_udp == 0) { -- 2.39.5