From: William Lima Date: Wed, 23 Mar 2016 13:17:31 +0000 (+1300) Subject: Fix memory leak when the cache of sslcrtvalidator_program is disabled via ttl=0 X-Git-Tag: SQUID_3_5_16~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bbb785993a03b943b4489890f414dc8d47424624;p=thirdparty%2Fsquid.git Fix memory leak when the cache of sslcrtvalidator_program is disabled via ttl=0 --- diff --git a/src/ssl/helper.cc b/src/ssl/helper.cc index c378758ea4..db822c8254 100644 --- a/src/ssl/helper.cc +++ b/src/ssl/helper.cc @@ -243,7 +243,8 @@ sslCrtvdHandleReplyWrapper(void *data, const ::Helper::Reply &reply) if (Ssl::CertValidationHelper::HelperCache && (validationResponse->resultCode == ::Helper::Okay || validationResponse->resultCode == ::Helper::Error)) { Ssl::CertValidationResponse::Pointer *item = new Ssl::CertValidationResponse::Pointer(validationResponse); - Ssl::CertValidationHelper::HelperCache->add(crtdvdData->query.c_str(), item); + if (!Ssl::CertValidationHelper::HelperCache->add(crtdvdData->query.c_str(), item)) + delete item; } SSL_free(crtdvdData->ssl);