]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/retcode.c
Merge remote branch 'origin/mdb.master' into OPENLDAP_REL_ENG_2_4
[openldap] / servers / slapd / overlays / retcode.c
index 15912540c8f2c2319212ba6b31b95442e8cbc8bb..f8727a41f4fa614ac55a5966f50757a9eafad71d 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2005-2009 The OpenLDAP Foundation.
+ * Copyright 2005-2012 The OpenLDAP Foundation.
  * Portions Copyright 2005 Pierangelo Masarati <ando@sys-net.it>
  * 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 );
 }