diff options
author | Zhang, Chao B <chao.b.zhang@intel.com> | 2018-01-15 09:50:38 +0800 |
---|---|---|
committer | Zhang, Chao B <chao.b.zhang@intel.com> | 2018-01-15 16:39:52 +0800 |
commit | 2067d9f8bfdf172a5eab4d1abfe8b4ba8c5195d5 (patch) | |
tree | 560bed7bb66ce9b3be268d4a12168ee685d2584c /CryptoPkg | |
parent | 57d1afc88950401a322e8679bbf89ec57ba8e992 (diff) | |
download | edk2-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>
Diffstat (limited to 'CryptoPkg')
-rw-r--r-- | CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c | 7 |
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) {
|