mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-23 08:09:34 -05:00
fix previous commit (ITS#4861)
This commit is contained in:
parent
3776e2ed83
commit
fd1efa13d0
3 changed files with 18 additions and 13 deletions
|
|
@ -1711,8 +1711,6 @@ retry:;
|
||||||
rs->sr_err = LDAP_NO_SUCH_OBJECT;
|
rs->sr_err = LDAP_NO_SUCH_OBJECT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ber_memvfree( (void **)refs );
|
|
||||||
|
|
||||||
if ( ctrls != NULL ) {
|
if ( ctrls != NULL ) {
|
||||||
rs->sr_ctrls = ctrls;
|
rs->sr_ctrls = ctrls;
|
||||||
}
|
}
|
||||||
|
|
@ -1771,6 +1769,10 @@ retry:;
|
||||||
rs->sr_ref = NULL;
|
rs->sr_ref = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( refs ) {
|
||||||
|
ber_memvfree( (void **)refs );
|
||||||
|
}
|
||||||
|
|
||||||
if ( ctrls ) {
|
if ( ctrls ) {
|
||||||
assert( rs->sr_ctrls != NULL );
|
assert( rs->sr_ctrls != NULL );
|
||||||
ldap_controls_free( ctrls );
|
ldap_controls_free( ctrls );
|
||||||
|
|
|
||||||
|
|
@ -158,6 +158,8 @@ ldap_back_search(
|
||||||
int freetext = 0;
|
int freetext = 0;
|
||||||
int do_retry = 1, dont_retry = 0;
|
int do_retry = 1, dont_retry = 0;
|
||||||
LDAPControl **ctrls = NULL;
|
LDAPControl **ctrls = NULL;
|
||||||
|
char **references = NULL;
|
||||||
|
|
||||||
/* FIXME: shouldn't this be null? */
|
/* FIXME: shouldn't this be null? */
|
||||||
const char *save_matched = rs->sr_matched;
|
const char *save_matched = rs->sr_matched;
|
||||||
|
|
||||||
|
|
@ -356,8 +358,6 @@ retry:
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if ( rc == LDAP_RES_SEARCH_REFERENCE ) {
|
} else if ( rc == LDAP_RES_SEARCH_REFERENCE ) {
|
||||||
char **references = NULL;
|
|
||||||
|
|
||||||
do_retry = 0;
|
do_retry = 0;
|
||||||
rc = ldap_parse_reference( lc->lc_ld, res,
|
rc = ldap_parse_reference( lc->lc_ld, res,
|
||||||
&references, &rs->sr_ctrls, 1 );
|
&references, &rs->sr_ctrls, 1 );
|
||||||
|
|
@ -398,6 +398,7 @@ retry:
|
||||||
ber_memvfree( (void **)references );
|
ber_memvfree( (void **)references );
|
||||||
op->o_tmpfree( rs->sr_ref, op->o_tmpmemctx );
|
op->o_tmpfree( rs->sr_ref, op->o_tmpmemctx );
|
||||||
rs->sr_ref = NULL;
|
rs->sr_ref = NULL;
|
||||||
|
references = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( rs->sr_ctrls ) {
|
if ( rs->sr_ctrls ) {
|
||||||
|
|
@ -406,7 +407,7 @@ retry:
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
char **references = NULL, *err = NULL;
|
char *err = NULL;
|
||||||
|
|
||||||
rc = ldap_parse_result( lc->lc_ld, res, &rs->sr_err,
|
rc = ldap_parse_result( lc->lc_ld, res, &rs->sr_err,
|
||||||
&match.bv_val, &err,
|
&match.bv_val, &err,
|
||||||
|
|
@ -444,7 +445,7 @@ retry:
|
||||||
|
|
||||||
for ( cnt = 0; references[ cnt ]; cnt++ ) {
|
for ( cnt = 0; references[ cnt ]; cnt++ ) {
|
||||||
/* duplicating ...*/
|
/* duplicating ...*/
|
||||||
ber_str2bv( references[ cnt ], 0, 1, &rs->sr_ref[ cnt ] );
|
ber_str2bv( references[ cnt ], 0, 0, &rs->sr_ref[ cnt ] );
|
||||||
}
|
}
|
||||||
BER_BVZERO( &rs->sr_ref[ cnt ] );
|
BER_BVZERO( &rs->sr_ref[ cnt ] );
|
||||||
}
|
}
|
||||||
|
|
@ -460,8 +461,6 @@ retry:
|
||||||
rs->sr_err = LDAP_NO_SUCH_OBJECT;
|
rs->sr_err = LDAP_NO_SUCH_OBJECT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ber_memvfree( (void **)references );
|
|
||||||
|
|
||||||
if ( match.bv_val != NULL ) {
|
if ( match.bv_val != NULL ) {
|
||||||
match.bv_len = strlen( match.bv_val );
|
match.bv_len = strlen( match.bv_val );
|
||||||
}
|
}
|
||||||
|
|
@ -552,10 +551,14 @@ finish:;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( rs->sr_ref ) {
|
if ( rs->sr_ref ) {
|
||||||
ber_bvarray_free_x( rs->sr_ref, op->o_tmpmemctx );
|
op->o_tmpfree( rs->sr_ref, op->o_tmpmemctx );
|
||||||
rs->sr_ref = NULL;
|
rs->sr_ref = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( references ) {
|
||||||
|
ber_memvfree( (void **)references );
|
||||||
|
}
|
||||||
|
|
||||||
if ( attrs ) {
|
if ( attrs ) {
|
||||||
ch_free( attrs );
|
ch_free( attrs );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1056,8 +1056,6 @@ retry:;
|
||||||
rs->sr_err = LDAP_NO_SUCH_OBJECT;
|
rs->sr_err = LDAP_NO_SUCH_OBJECT;
|
||||||
}
|
}
|
||||||
|
|
||||||
ber_memvfree( (void **)refs );
|
|
||||||
|
|
||||||
if ( ctrls != NULL ) {
|
if ( ctrls != NULL ) {
|
||||||
rs->sr_ctrls = ctrls;
|
rs->sr_ctrls = ctrls;
|
||||||
}
|
}
|
||||||
|
|
@ -1201,9 +1199,11 @@ retry:;
|
||||||
ldap_memfree( text );
|
ldap_memfree( text );
|
||||||
}
|
}
|
||||||
if ( rs->sr_ref ) {
|
if ( rs->sr_ref ) {
|
||||||
assert( refs != NULL );
|
|
||||||
ber_memvfree( (void **)refs );
|
|
||||||
op->o_tmpfree( rs->sr_ref, op->o_tmpmemctx );
|
op->o_tmpfree( rs->sr_ref, op->o_tmpmemctx );
|
||||||
|
rs->sr_ref = NULL;
|
||||||
|
}
|
||||||
|
if ( refs ) {
|
||||||
|
ber_memvfree( (void **)refs );
|
||||||
}
|
}
|
||||||
if ( ctrls ) {
|
if ( ctrls ) {
|
||||||
assert( rs->sr_ctrls != NULL );
|
assert( rs->sr_ctrls != NULL );
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue