From: Pierangelo Masarati Date: Sat, 19 Feb 2005 11:07:02 +0000 (+0000) Subject: fix ITS#3551 X-Git-Tag: OPENLDAP_REL_ENG_2_3_BP~161 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=0f18e6ce2495062c6f8d1db6392f248f3178501f;p=openldap fix ITS#3551 --- diff --git a/servers/slapd/back-sql/search.c b/servers/slapd/back-sql/search.c index 0381f6974f..accaa533e7 100644 --- a/servers/slapd/back-sql/search.c +++ b/servers/slapd/back-sql/search.c @@ -1983,10 +1983,7 @@ backsql_search( Operation *op, SlapReply *rs ) rs->sr_err = LDAP_TIMELIMIT_EXCEEDED; rs->sr_ctrls = NULL; rs->sr_ref = rs->sr_v2ref; - rs->sr_err = (rs->sr_v2ref == NULL) ? LDAP_SUCCESS - : LDAP_REFERRAL; - send_ldap_result( op, rs ); - goto end_of_search; + goto send_results; } #ifdef BACKSQL_ARBITRARY_KEY @@ -2217,17 +2214,11 @@ next_entry2:; && rs->sr_nentries >= op->ors_slimit ) { rs->sr_err = LDAP_SIZELIMIT_EXCEEDED; - send_ldap_result( op, rs ); - goto end_of_search; + goto send_results; } } end_of_search:; - entry_clean( &base_entry ); - - /* in case we got here accidentally */ - entry_clean( &user_entry ); - if ( rs->sr_nentries > 0 ) { rs->sr_ref = rs->sr_v2ref; rs->sr_err = (rs->sr_v2ref == NULL) ? LDAP_SUCCESS @@ -2236,8 +2227,15 @@ end_of_search:; } else { rs->sr_err = bsi.bsi_status; } + +send_results:; send_ldap_result( op, rs ); + entry_clean( &base_entry ); + + /* in case we got here accidentally */ + entry_clean( &user_entry ); + if ( rs->sr_v2ref ) { ber_bvarray_free( rs->sr_v2ref ); rs->sr_v2ref = NULL;