mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-02-01 19:39:29 -05:00
Use REP_MATCHED_MUSTBEFREED reply flag
This commit is contained in:
parent
d4d5e253d9
commit
aec5d60620
1 changed files with 5 additions and 3 deletions
|
|
@ -94,8 +94,10 @@ dn2entry_retry:
|
|||
rs->sr_ref = is_entry_referral( e )
|
||||
? get_entry_referrals( op, e )
|
||||
: NULL;
|
||||
if (rs->sr_ref)
|
||||
if (rs->sr_ref) {
|
||||
rs->sr_matched = ch_strdup( e->e_name.bv_val );
|
||||
rs->sr_flags |= REP_MATCHED_MUSTBEFREED;
|
||||
}
|
||||
|
||||
bdb_cache_return_entry_r( bdb->bi_dbenv, &bdb->bi_cache, e, &lock );
|
||||
e = NULL;
|
||||
|
|
@ -107,10 +109,8 @@ dn2entry_retry:
|
|||
if ( rs->sr_ref != NULL ) {
|
||||
rs->sr_err = LDAP_REFERRAL;
|
||||
send_ldap_result( op, rs );
|
||||
free( (char *)rs->sr_matched );
|
||||
ber_bvarray_free( rs->sr_ref );
|
||||
rs->sr_ref = NULL;
|
||||
rs->sr_matched = NULL;
|
||||
} else {
|
||||
rs->sr_err = LDAP_INVALID_CREDENTIALS;
|
||||
send_ldap_result( op, rs );
|
||||
|
|
@ -170,6 +170,8 @@ dn2entry_retry:
|
|||
|
||||
if( rs->sr_ref != NULL ) {
|
||||
rs->sr_err = LDAP_REFERRAL;
|
||||
rs->sr_matched = ch_strdup( e->e_name.bv_val );
|
||||
rs->sr_flags |= REP_MATCHED_MUSTBEFREED;
|
||||
} else {
|
||||
rs->sr_err = LDAP_INVALID_CREDENTIALS;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue