X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=servers%2Fslapd%2Foverlays%2Fretcode.c;h=f8727a41f4fa614ac55a5966f50757a9eafad71d;hb=e6910e0a0c689b289837e75352541ee3fc966064;hp=47cf54a5c49239b2cd9110d64b8cedf3c46db1d4;hpb=1adee08e8912c1f47c7b170fe62bebdd9797921f;p=openldap diff --git a/servers/slapd/overlays/retcode.c b/servers/slapd/overlays/retcode.c index 47cf54a5c4..f8727a41f4 100644 --- a/servers/slapd/overlays/retcode.c +++ b/servers/slapd/overlays/retcode.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2010 The OpenLDAP Foundation. + * Copyright 2005-2012 The OpenLDAP Foundation. * Portions Copyright 2005 Pierangelo Masarati * All rights reserved. * @@ -165,7 +165,9 @@ retcode_send_onelevel( Operation *op, SlapReply *rs ) 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 */ @@ -770,6 +772,12 @@ retcode_item_destroy( retcode_item_t *rdi ) 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 ); }