CryptoPkg: BaseCryptLib: Fix buffer double free in CryptPkcs7VerifyEku

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2459

SignerCert is part of Pkcs7 instance when both have valid content. OpenSLL
PKCS7_free function will release the memory of SignerCert when applicable.
Freeing SignerCert with X509_free again might cause page fault if use-
after-free guard is enabled.

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Guomin Jiang <guomin.jiang@intel.com>

Signed-off-by: Kun Qin <kun.q@outlook.com>
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
This commit is contained in:
Kun Qin 2020-11-21 06:24:32 +08:00 committed by mergify[bot]
parent e9d62effa3
commit 21f984cede
1 changed files with 0 additions and 4 deletions

View File

@ -508,10 +508,6 @@ Exit:
free (SignedData); free (SignedData);
} }
if (SignerCert != NULL) {
X509_free (SignerCert);
}
if (Pkcs7 != NULL) { if (Pkcs7 != NULL) {
PKCS7_free (Pkcs7); PKCS7_free (Pkcs7);
} }