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 );
}