for ( rc = 0; rc != -1; rc = ldap_result( lc->lc_ld, msgid, LDAP_MSG_ONE, &tv, &res ) )
{
/* check for abandon */
- if ( op->o_abandon ) {
+ if ( op->o_abandon || LDAP_BACK_CONN_ABANDON( lc ) ) {
if ( rc > 0 ) {
ldap_msgfree( res );
}
}
if ( lc != NULL ) {
- ldap_back_release_conn( op, rs, lc );
+ ldap_back_release_conn( li, lc );
}
return rs->sr_err;
rc = ldap_build_entry( op, e, *ent, &bdn );
if ( rc != LDAP_SUCCESS ) {
- ch_free( *ent );
+ entry_free( *ent );
*ent = NULL;
}
}
if ( lc != NULL ) {
- ldap_back_release_conn( op, &rs, lc );
+ ldap_back_release_conn( li, lc );
}
return rc;