]> git.sur5r.net Git - openldap/commitdiff
ITS#6088
authorQuanah Gibson-Mount <quanah@openldap.org>
Sun, 3 May 2009 23:58:25 +0000 (23:58 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Sun, 3 May 2009 23:58:25 +0000 (23:58 +0000)
CHANGES
servers/slapd/back-bdb/cache.c

diff --git a/CHANGES b/CHANGES
index 8be3b2efb76e8353e7d5eaf5194c15b6b9444eca..5f827b7d44c034d1d96a3969ca85f70d158c5407 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -13,6 +13,7 @@ OpenLDAP 2.4.17 Engineering
        Fixed slapd pagedresults stacked control with overlays (ITS#6056)
        Fixed slapd sockets usage on windows (ITS#6039)
        Fixed slapd-bdb freeing of already freed entries (ITS#6074)
+       Fixed slapd-bdb entryinfo cleanup (ITS#6088)
        Added slapo-rwm rwm-drop-unrequested-attrs config option (ITS#6057)
        Fixed slapo-rwm dn passing (ITS#6070)
        Fixed slapo-rwm entry free (ITS#6058)
index 02f5554e22988c27b0371fce34e4c2715749739b..a20d772026b088dab805783916958dab54c6d497 100644 (file)
@@ -64,6 +64,7 @@ bdb_cache_entryinfo_new( Cache *cache )
                        ei = cache->c_eifree;
                        cache->c_eifree = ei->bei_lrunext;
                        ei->bei_finders = 0;
+                       ei->bei_lrunext = NULL;
                }
                ldap_pvt_thread_mutex_unlock( &cache->c_eifree_mutex );
        }
@@ -81,10 +82,10 @@ static void
 bdb_cache_entryinfo_free( Cache *cache, EntryInfo *ei )
 {
        free( ei->bei_nrdn.bv_val );
-       ei->bei_nrdn.bv_val = NULL;
+       BER_BVZERO( &ei->bei_nrdn );
 #ifdef BDB_HIER
        free( ei->bei_rdn.bv_val );
-       ei->bei_rdn.bv_val = NULL;
+       BER_BVZERO( &ei->bei_rdn );
        ei->bei_modrdns = 0;
        ei->bei_ckids = 0;
        ei->bei_dkids = 0;
@@ -1358,8 +1359,8 @@ bdb_cache_delete_cleanup(
                ei->bei_e = NULL;
        }
 
-       bdb_cache_entryinfo_free( cache, ei );
        bdb_cache_entryinfo_unlock( ei );
+       bdb_cache_entryinfo_free( cache, ei );
 }
 
 static int