From: Christos Tsantilas Date: Mon, 23 Feb 2009 23:18:23 +0000 (+0200) Subject: Regression Fix: Bug 2586: Memory leaks on reconfigure X-Git-Tag: SQUID_3_2_0_1~1164 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fcfc884ec13df1d7e88955a1bf2a3a221adcd7e1;p=thirdparty%2Fsquid.git Regression Fix: Bug 2586: Memory leaks on reconfigure The patch is not correct. Some of the objects freed here can be in use during reconfigure. --- diff --git a/src/cache_cf.cc b/src/cache_cf.cc index 661f41ca26..c81d800856 100644 --- a/src/cache_cf.cc +++ b/src/cache_cf.cc @@ -1885,27 +1885,6 @@ free_peer(peer ** P) while ((p = *P) != NULL) { *P = p->next; - - safe_free(p->host); - safe_free(p->name); - safe_free(p->login); -#if USE_CACHE_DIGESTS - safe_free(p->digest_url); -#endif - safe_free(p->domain); -#if USE_SSL - safe_free(p->sslcert); - safe_free(p->sslkey); - safe_free(p->ssloptions); - safe_free(p->sslcipher); - safe_free(p->sslcapath); - safe_free(p->sslcafile); - safe_free(p->sslflags); - safe_free(p->ssldomain); - if (p->sslContext) - SSL_CTX_free(p->sslContext); -#endif - #if USE_CACHE_DIGESTS cbdataReferenceDone(p->digest); @@ -3297,9 +3276,6 @@ void configFreeMemory(void) { free_all(); -#if USE_SSL - SSL_CTX_free(Config.ssl_client.sslContext); -#endif } void diff --git a/src/cache_manager.cc b/src/cache_manager.cc index 76819f2d32..ceee60b65a 100644 --- a/src/cache_manager.cc +++ b/src/cache_manager.cc @@ -74,10 +74,6 @@ void CacheManager::registerAction(char const * action, char const * desc, OBJH * handler, int pw_req_flag, int atomic) { debugs(16, 3, "CacheManager::registerAction: registering legacy " << action); - if (findAction(action) != NULL) { - debugs(16, 2, "CacheManager::registerAction: Duplicate '" << action << "'. Skipping."); - return; - } registerAction(new CacheManagerActionLegacy(action,desc,pw_req_flag,atomic,handler)); } diff --git a/src/mime.cc b/src/mime.cc index 0fb42f2bcb..c08201c9f5 100644 --- a/src/mime.cc +++ b/src/mime.cc @@ -511,7 +511,6 @@ mimeFreeMemory(void) safe_free(m->icon); safe_free(m->content_encoding); regfree(&m->compiled_pattern); - m->theIcon._free(); delete m; }