ITS#5025 clear sr_entry before sending search reference

This commit is contained in:
Howard Chu 2007-06-19 20:04:36 +00:00
parent 0f8b124f4d
commit d6ef5f3a0d

View File

@ -330,12 +330,17 @@ retry:
e = ldap_first_entry( lc->lc_ld, res );
rc = ldap_build_entry( op, e, &ent, &bdn );
if ( rc == LDAP_SUCCESS ) {
ldap_get_entry_controls( lc->lc_ld, res, &rs->sr_ctrls );
rs->sr_entry = &ent;
rs->sr_attrs = op->ors_attrs;
rs->sr_operational_attrs = NULL;
rs->sr_flags = 0;
rs->sr_err = LDAP_SUCCESS;
rc = rs->sr_err = send_search_entry( op, rs );
if ( rs->sr_ctrls ) {
ldap_controls_free( rs->sr_ctrls );
rs->sr_ctrls = NULL;
}
rs->sr_entry = NULL;
if ( !BER_BVISNULL( &ent.e_name ) ) {
assert( ent.e_name.bv_val != bdn.bv_val );
@ -384,6 +389,7 @@ retry:
BER_BVZERO( &rs->sr_ref[ cnt ] );
/* ignore return value by now */
rs->sr_entry = NULL;
( void )send_search_reference( op, rs );
} else {