struct berval nbase = { 0, NULL };
struct berval fstr = { 0, NULL };
Filter *filter = NULL;
- AttributeName *an;
+ AttributeName *an = NULL;
ber_len_t siz, off, i;
Backend *be;
int rc;
#endif
/* filter - returns a "normalized" version */
- rc = get_filter( conn, op->o_ber, &filter, &fstr, &text );
+ rc = get_filter( conn, op->o_ber, &filter, &text );
if( rc != LDAP_SUCCESS ) {
if( rc == SLAPD_DISCONNECT ) {
send_ldap_disconnect( conn, op,
NULL, text, NULL, NULL );
}
goto return_results;
+
+ } else {
+ filter2bv( filter, &fstr );
}
#ifdef NEW_LOGGING
LDAP_LOG(( "operation", LDAP_LEVEL_ARGS,
- "do_search: conn %d filter: %s\n", conn->c_connid, fstr.bv_val ));
+ "do_search: conn %d filter: %s\n", conn->c_connid,
+ fstr.bv_len ? fstr.bv_val : "empty" ));
#else
- Debug( LDAP_DEBUG_ARGS, " filter: %s\n", fstr.bv_val, 0, 0 );
+ Debug( LDAP_DEBUG_ARGS, " filter: %s\n",
+ fstr.bv_len ? fstr.bv_val : "empty", 0, 0 );
#endif
/* attributes */
* if we don't hold it.
*/
if ( (be = select_backend( &nbase, manageDSAit, 1 )) == NULL ) {
- BVarray ref = referral_rewrite( default_referral,
+ BerVarray ref = referral_rewrite( default_referral,
NULL, &pbase, scope );
send_ldap_result( conn, op, rc = LDAP_REFERRAL,
NULL, NULL, ref ? ref : default_referral, NULL );
- bvarray_free( ref );
+ ber_bvarray_free( ref );
goto return_results;
}
if( fstr.bv_val != NULL) free( fstr.bv_val );
if( filter != NULL) filter_free( filter );
- free(an);
+ if( an != NULL ) free( an );
return rc;
}