mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
ITS#5025 clear sr_entry before sending search reference
This commit is contained in:
parent
0f8b124f4d
commit
d6ef5f3a0d
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user