]> git.sur5r.net Git - openldap/commitdiff
Revert "ITS#6981 don't free entries prematurely"
authorHoward Chu <hyc@openldap.org>
Wed, 2 Nov 2011 16:25:45 +0000 (09:25 -0700)
committerHoward Chu <hyc@openldap.org>
Wed, 2 Nov 2011 16:25:45 +0000 (09:25 -0700)
This reverts commit 877ebdf5ef7c40e9d8aeba3894cd07f95bc721d2.

servers/slapd/result.c

index 8b173d452402891a027225b07cd78f53e2633fd6..1e8d40622382ff2b8eb75f39e1a74b7039bd5725 100644 (file)
@@ -1414,8 +1414,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 )
-               rs_flush_entry( op, rs, NULL );
+       rs_flush_entry( op, rs, NULL );
 
        if ( op->o_res_ber == NULL ) {
                bytes = send_ldap_ber( op, ber );
@@ -1581,8 +1580,7 @@ slap_send_search_reference( Operation *op, SlapReply *rs )
        }
 
        rc = 0;
-       if ( rs->sr_flags & REP_ENTRY_MUSTRELEASE )
-               rs_flush_entry( op, rs, NULL );
+       rs_flush_entry( op, rs, NULL );
 
 #ifdef LDAP_CONNECTIONLESS
        if (!op->o_conn || op->o_conn->c_is_udp == 0) {
@@ -1618,13 +1616,15 @@ slap_send_search_reference( Operation *op, SlapReply *rs )
 
        Debug( LDAP_DEBUG_TRACE, "<= send_search_reference\n", 0, 0, 0 );
 
+       if ( 0 ) {
 rel:
+           rs_flush_entry( op, rs, NULL );
+       }
+
        if ( op->o_callback ) {
                (void)slap_cleanup_play( op, rs );
        }
 
-    rs_flush_entry( op, rs, NULL );
-
        if ( rs->sr_flags & REP_CTRLS_MUSTBEFREED ) {
                rs->sr_flags ^= REP_CTRLS_MUSTBEFREED; /* paranoia */
                if ( rs->sr_ctrls ) {