summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhang, Chao B <chao.b.zhang@intel.com>2018-01-15 09:50:38 +0800
committerZhang, Chao B <chao.b.zhang@intel.com>2018-01-15 16:39:52 +0800
commit2067d9f8bfdf172a5eab4d1abfe8b4ba8c5195d5 (patch)
tree560bed7bb66ce9b3be268d4a12168ee685d2584c
parent57d1afc88950401a322e8679bbf89ec57ba8e992 (diff)
downloadedk2-2067d9f8bfdf172a5eab4d1abfe8b4ba8c5195d5.tar.gz
edk2-2067d9f8bfdf172a5eab4d1abfe8b4ba8c5195d5.tar.bz2
edk2-2067d9f8bfdf172a5eab4d1abfe8b4ba8c5195d5.zip
CrptoPkg/BaseCryptLib: Fix type mismatch when calling OpenSSL function
Type definition in UEFI & OpeenSSL is different. Sometime it could cause write overflow. Should use same data type when accessing the same region Cc: Long Qin <qin.long@intel.com> Cc: Chen Chen <chen.a.chen@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chao Zhang <chao.b.zhang@intel.com> Reviewed-by: Long Qin <qin.long@intel.com>
-rw-r--r--CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c b/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c
index bf7c4ccd42..56e66308ae 100644
--- a/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c
+++ b/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c
@@ -644,8 +644,8 @@ X509GetTBSCert (
)
{
CONST UINT8 *Temp;
- INTN Asn1Tag;
- INTN ObjClass;
+ UINT32 Asn1Tag;
+ UINT32 ObjClass;
UINTN Length;
//
@@ -673,7 +673,8 @@ X509GetTBSCert (
// So we can just ASN1-parse the x.509 DER-encoded data. If we strip
// the first SEQUENCE, the second SEQUENCE is the TBSCertificate.
//
- Temp = Cert;
+ Temp = Cert;
+ Length = 0;
ASN1_get_object (&Temp, (long *)&Length, (int *)&Asn1Tag, (int *)&ObjClass, (long)CertSize);
if (Asn1Tag != V_ASN1_SEQUENCE) {