From: Quanah Gibson-Mount Date: Tue, 12 Feb 2008 01:28:26 +0000 (+0000) Subject: ITS#5332 X-Git-Tag: OPENLDAP_REL_ENG_2_4_8~34 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=da72dab380f490bb1043617763b7e61e913d9855;p=openldap ITS#5332 --- diff --git a/CHANGES b/CHANGES index 577be44099..dc4027a8f8 100644 --- a/CHANGES +++ b/CHANGES @@ -28,6 +28,7 @@ OpenLDAP 2.4.8 Engineering Fixed slapd-bdb crash with modrdn (ITS#5358) Fixed slapd-bdb segv with bdb4.6 (ITS#5322) Fixed slapd-bdb modrdn to same dn (ITS#5319) + Fixed slapd-bdb MMR (ITS#5332) Added slapd-bdb/slapd-hdb DB encryption (ITS#5359) Fixed slapd-ldif delete (ITS#5265) Fixed slapd-meta link to slapd-ldap (ITS#5355) diff --git a/servers/slapd/back-bdb/cache.c b/servers/slapd/back-bdb/cache.c index 3156667d40..9c0ad33950 100644 --- a/servers/slapd/back-bdb/cache.c +++ b/servers/slapd/back-bdb/cache.c @@ -251,15 +251,17 @@ bdb_cache_return_entry_rw( struct bdb_info *bdb, Entry *e, EntryInfo *ei; int free = 0; - bdb_cache_entry_db_unlock( bdb, lock ); ei = e->e_private; - bdb_cache_entryinfo_lock( ei ); - if ( ei->bei_state & CACHE_ENTRY_NOT_CACHED ) { - ei->bei_e = NULL; - ei->bei_state ^= CACHE_ENTRY_NOT_CACHED; - free = 1; + bdb_cache_entry_db_unlock( bdb, lock ); + if ( ei ) { + bdb_cache_entryinfo_lock( ei ); + if ( ei->bei_state & CACHE_ENTRY_NOT_CACHED ) { + ei->bei_e = NULL; + ei->bei_state ^= CACHE_ENTRY_NOT_CACHED; + free = 1; + } + bdb_cache_entryinfo_unlock( ei ); } - bdb_cache_entryinfo_unlock( ei ); if ( free ) { e->e_private = NULL; bdb_entry_return( e );