From: Hallvard Furuseth Date: Mon, 5 Apr 1999 18:01:11 +0000 (+0000) Subject: Delay free(e.e_ndn) in cache_find_entry_dn2id() to after "goto try_again" X-Git-Tag: OPENLDAP_SLAPD_BACK_LDAP~247 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=dae494e45d2f222595fdbb86baee23931f50c7b7;p=openldap Delay free(e.e_ndn) in cache_find_entry_dn2id() to after "goto try_again" --- diff --git a/servers/slapd/back-ldbm/cache.c b/servers/slapd/back-ldbm/cache.c index 6fb33306b6..5386735fcc 100644 --- a/servers/slapd/back-ldbm/cache.c +++ b/servers/slapd/back-ldbm/cache.c @@ -445,7 +445,6 @@ try_again: * we do not need to lock the entry if we only * check the state, refcnt, LRU, and id. */ - free(e.e_ndn); #ifdef LDAP_DEBUG assert( ep->e_private ); @@ -477,11 +476,8 @@ try_again: /* save id */ id = ep->e_id; - - /* free cache mutex */ - ldap_pvt_thread_mutex_unlock( &cache->c_mutex ); - - return( id ); + } else { + id = NOID; } free(e.e_ndn); @@ -489,7 +485,7 @@ try_again: /* free cache mutex */ ldap_pvt_thread_mutex_unlock( &cache->c_mutex ); - return( NOID ); + return( id ); } /*