SCT validation: fix small memory leak (public keys were not freed)

This commit is contained in:
Johanna Amann 2017-05-14 09:55:17 -07:00
parent 0107ad6c31
commit e1d42ec99c

View file

@ -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()); success = EVP_DigestVerifyFinal(mdctx, (unsigned char*) signature->Bytes(), signature->Len());
#endif #endif
EVP_MD_CTX_destroy(mdctx); EVP_MD_CTX_destroy(mdctx);
EVP_PKEY_free(key);
return new Val(success, TYPE_BOOL); return new Val(success, TYPE_BOOL);
sct_verify_err: sct_verify_err:
if (mdctx) if (mdctx)
EVP_MD_CTX_destroy(mdctx); EVP_MD_CTX_destroy(mdctx);
if (key)
EVP_PKEY_free(key);
cerr << errstr << endl; cerr << errstr << endl;
reporter->Error("%s", errstr.c_str()); reporter->Error("%s", errstr.c_str());
return new Val(0, TYPE_BOOL); return new Val(0, TYPE_BOOL);