From: Stefan Fritsch Date: Tue, 26 Apr 2011 19:17:16 +0000 (+0000) Subject: Fix double free in out-of-mem situation X-Git-Tag: 2.3.12~29 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6eaa4a5590ed8fabfc40f314bcff4f6374865258;p=thirdparty%2Fapache%2Fhttpd.git Fix double free in out-of-mem situation git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1096855 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/ldap/util_ldap_cache_mgr.c b/modules/ldap/util_ldap_cache_mgr.c index 2f1d844bbaf..1998c13e0bc 100644 --- a/modules/ldap/util_ldap_cache_mgr.c +++ b/modules/ldap/util_ldap_cache_mgr.c @@ -365,15 +365,8 @@ util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st, cache->nodes = (util_cache_node_t **)util_ald_alloc(cache, cache->size * sizeof(util_cache_node_t *)); if (!cache->nodes) { + /* This frees cache in the right way even if !APR_HAS_SHARED_MEMORY or !st->cache_rmm */ util_ald_free(cache, cache); -#if APR_HAS_SHARED_MEMORY - if (!st->cache_rmm) - free(cache); - else - apr_rmm_free(st->cache_rmm, block); -#else - free(cache); -#endif return NULL; }