]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/retcode.c
Fix void* pointer arithmetic from ber_bvchr()
[openldap] / servers / slapd / overlays / retcode.c
index e285d57c31786b87a01a89fb8dfc3983770ef158..845370a8123df3ab4ad5bd3112d26f907bb3c551 100644 (file)
@@ -1030,6 +1030,10 @@ retcode_db_destroy( BackendDB *be )
                                ber_memfree( rdi->rdi_matched.bv_val );
                        }
 
+                       if ( rdi->rdi_ref ) {
+                               ber_bvarray_free( rdi->rdi_ref );
+                       }
+
                        BER_BVZERO( &rdi->rdi_e.e_name );
                        BER_BVZERO( &rdi->rdi_e.e_nname );
 
@@ -1040,6 +1044,14 @@ retcode_db_destroy( BackendDB *be )
                        ch_free( rdi );
                }
 
+               if ( !BER_BVISNULL( &rd->rd_pdn ) ) {
+                       ber_memfree( rd->rd_pdn.bv_val );
+               }
+
+               if ( !BER_BVISNULL( &rd->rd_npdn ) ) {
+                       ber_memfree( rd->rd_npdn.bv_val );
+               }
+
                ber_memfree( rd );
        }