]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Fix memory leak when the cache of sslcrtvalidator_program is disabled via ttl=0
authorWilliam Lima <william.lima@hscbrasil.com.br>
Wed, 23 Mar 2016 13:17:31 +0000 (02:17 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Wed, 23 Mar 2016 13:17:31 +0000 (02:17 +1300)
src/ssl/helper.cc

index c378758ea4e07c116a4093aedb14a8f169c12870..db822c8254f275b73bcab9cf07586dc9ff0f8218 100644 (file)
@@ -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);