]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
author: "William Lima" <william.lima@hscbrasil.com.br>
authorChristos Tsantilas <chtsanti@users.sourceforge.net>
Mon, 22 Feb 2016 18:01:23 +0000 (20:01 +0200)
committerChristos Tsantilas <chtsanti@users.sourceforge.net>
Mon, 22 Feb 2016 18:01:23 +0000 (20:01 +0200)
Fix memory leak when the cache of sslcrtvalidator_program is disabled via ttl=0

src/ssl/helper.cc

index 741bcef4152450c80df084a49531939ea18f5e90..224bd4d0fcaea69616cf78e7dd88aa6e19c3a548 100644 (file)
@@ -231,7 +231,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);