/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 2005-2008 The OpenLDAP Foundation.
+ * Copyright 2005-2011 The OpenLDAP Foundation.
* Portions Copyright 2005 Pierangelo Masarati <ando@sys-net.it>
* All rights reserved.
*
rs->sr_entry = &rdi->rdi_e;
rs->sr_err = send_search_entry( op, rs );
+ rs->sr_flags = 0;
rs->sr_entry = NULL;
+ rs->sr_attrs = NULL;
switch ( rs->sr_err ) {
case LDAP_UNAVAILABLE: /* connection closed */
1, &op2.ors_filterstr, op2.o_tmpmemctx );
op2.ors_filter = str2filter_x( &op2, op2.ors_filterstr.bv_val );
+ /* errAbsObject is defined by this overlay! */
+ assert( op2.ors_filter != NULL );
+
db.bd_info = on->on_info->oi_orig;
op2.o_bd = &db;
rc = op2.o_bd->be_search( &op2, rs );
op->o_abandon = op2.o_abandon;
- filter_free_x( &op2, op2.ors_filter );
+ filter_free_x( &op2, op2.ors_filter, 1 );
ber_memfree_x( op2.ors_filterstr.bv_val, op2.o_tmpmemctx );
if ( rdc.rdc_flags == SLAP_CB_CONTINUE ) {
entry_clean( &rdi->rdi_e );
+ if ( !BER_BVISNULL( &rdi->rdi_unsolicited_oid ) ) {
+ ber_memfree( rdi->rdi_unsolicited_oid.bv_val );
+ if ( !BER_BVISNULL( &rdi->rdi_unsolicited_data ) )
+ ber_memfree( rdi->rdi_unsolicited_data.bv_val );
+ }
+
ch_free( rdi );
}