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);
configFreeMemory(void)
{
free_all();
+#if USE_SSL
+ SSL_CTX_free(Config.ssl_client.sslContext);
+#endif
}
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));
}
safe_free(m->icon);
safe_free(m->content_encoding);
regfree(&m->compiled_pattern);
+ m->theIcon._free();
delete m;
}