ITS#6074 freeing already-freed EntryInfos...

This commit is contained in:
Howard Chu 2009-05-01 04:36:39 +00:00
parent c7142fdec5
commit 6e27fa5076

View File

@ -1345,6 +1345,9 @@ bdb_cache_delete_cleanup(
{ {
/* Enter with ei locked */ /* Enter with ei locked */
/* already freed? */
if ( !ei->bei_parent ) return;
if ( ei->bei_e ) { if ( ei->bei_e ) {
ei->bei_e->e_private = NULL; ei->bei_e->e_private = NULL;
#ifdef SLAP_ZONE_ALLOC #ifdef SLAP_ZONE_ALLOC
@ -1368,6 +1371,10 @@ bdb_cache_delete_internal(
int rc = 0; /* return code */ int rc = 0; /* return code */
int decr_leaf = 0; int decr_leaf = 0;
/* already freed? */
if ( !e->bei_parent )
return -1;
/* Lock the parent's kids tree */ /* Lock the parent's kids tree */
bdb_cache_entryinfo_lock( e->bei_parent ); bdb_cache_entryinfo_lock( e->bei_parent );