anticipate Statslog to avoid using dangling pointers (ITS#5775) - HEADS-UP: now 'ENTRY dn=' may appear also in case the PDU can't be sent

This commit is contained in:
Pierangelo Masarati 2008-10-28 22:02:01 +00:00
parent 7ec3743aa5
commit ffb66f41bb

View File

@ -747,7 +747,6 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
BerElement *ber = (BerElement *) &berbuf;
Attribute *a;
int i, j, rc = LDAP_UNAVAILABLE, bytes;
char *edn;
int userattrs;
AccessControlState acl_state = ACL_STATE_INIT;
int attrsonly;
@ -810,8 +809,6 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
goto error_return;
}
edn = rs->sr_entry->e_nname.bv_val;
if ( op->o_res_ber ) {
/* read back control or LDAP_CONNECTIONLESS */
ber = op->o_res_ber;
@ -1198,6 +1195,9 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
goto error_return;
}
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;
@ -1225,9 +1225,6 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
ldap_pvt_thread_mutex_unlock( &op->o_counters->sc_mutex );
}
Statslog( LDAP_DEBUG_STATS2, "%s ENTRY dn=\"%s\"\n",
op->o_log_prefix, edn, 0, 0, 0 );
Debug( LDAP_DEBUG_TRACE,
"<= send_search_entry: conn %lu exit.\n", op->o_connid, 0, 0 );