mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-30 13:30:57 +08:00
Use REP_MATCHED_MUSTBEFREED reply flag
This commit is contained in:
parent
d4d5e253d9
commit
aec5d60620
@ -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 New Issue
Block a user