/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 2002-2007 The OpenLDAP Foundation.
+ * Copyright 2002-2009 The OpenLDAP Foundation.
* Portions Copyright 1997,2002-2003 IBM Corporation.
* All rights reserved.
*
pblock_set_default( Slapi_PBlock *pb, int param, void *value )
{
slapi_pblock_class_t pbClass;
- size_t i;
+ int i;
pbClass = pblock_get_param_class( param );
if ( pbClass == PBLOCK_CLASS_INVALID ) {
break;
case SLAPI_SEARCH_RESULT_ENTRY:
PBLOCK_ASSERT_OP( pb, 0 );
+ if ( pb->pb_rs->sr_flags & REP_ENTRY_MUSTBEFREED ) {
+ entry_free( pb->pb_rs->sr_entry );
+ } else if ( pb->pb_rs->sr_flags & REP_ENTRY_MUSTRELEASE ) {
+ be_entry_release_r( pb->pb_op, pb->pb_rs->sr_entry );
+ pb->pb_rs->sr_flags ^= REP_ENTRY_MUSTRELEASE;
+ }
pb->pb_rs->sr_entry = (Slapi_Entry *)value;
+ pb->pb_rs->sr_flags |= REP_ENTRY_MUSTBEFREED;
break;
case SLAPI_BIND_RET_SASLCREDS:
PBLOCK_ASSERT_OP( pb, 0 );