From e1d42ec99ca0dcf79ddc3901a0a58af4fb39c6e0 Mon Sep 17 00:00:00 2001 From: Johanna Amann Date: Sun, 14 May 2017 09:55:17 -0700 Subject: [PATCH] SCT validation: fix small memory leak (public keys were not freed) --- src/file_analysis/analyzer/x509/functions.bif | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/file_analysis/analyzer/x509/functions.bif b/src/file_analysis/analyzer/x509/functions.bif index 80fc3bb9af..478332aecf 100644 --- a/src/file_analysis/analyzer/x509/functions.bif +++ b/src/file_analysis/analyzer/x509/functions.bif @@ -695,12 +695,15 @@ function sct_verify%(cert: opaque of x509, logid: string, log_key: string, signa success = EVP_DigestVerifyFinal(mdctx, (unsigned char*) signature->Bytes(), signature->Len()); #endif EVP_MD_CTX_destroy(mdctx); + EVP_PKEY_free(key); return new Val(success, TYPE_BOOL); sct_verify_err: if (mdctx) EVP_MD_CTX_destroy(mdctx); + if (key) + EVP_PKEY_free(key); cerr << errstr << endl; reporter->Error("%s", errstr.c_str()); return new Val(0, TYPE_BOOL);