]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c
CryptoPkg/BaseCryptLib: Clean up checking of PKCS#7 contents type
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLib / Pk / CryptAuthenticode.c
index 9e933558e65bb66f4b54ced5d9c139877fe4e6d9..857281d75f9496a32c4b9c5a7b5e3f32a0869c9c 100644 (file)
@@ -77,7 +77,7 @@ AuthenticodeVerify (
   UINT8        *SpcIndirectDataContent;\r
   UINT8        Asn1Byte;\r
   UINTN        ContentSize;\r
-  UINT8        *SpcIndirectDataOid;\r
+  CONST UINT8  *SpcIndirectDataOid;\r
 \r
   //\r
   // Check input parameters.\r
@@ -115,8 +115,9 @@ AuthenticodeVerify (
   //       some authenticode-specific structure. Use opaque ASN.1 string to retrieve\r
   //       PKCS#7 ContentInfo here.\r
   //\r
-  SpcIndirectDataOid = (UINT8 *)(Pkcs7->d.sign->contents->type->data);\r
-  if (CompareMem (\r
+  SpcIndirectDataOid = OBJ_get0_data(Pkcs7->d.sign->contents->type);\r
+  if (OBJ_length(Pkcs7->d.sign->contents->type) != sizeof(mSpcIndirectOidValue) ||\r
+      CompareMem (\r
         SpcIndirectDataOid,\r
         mSpcIndirectOidValue,\r
         sizeof (mSpcIndirectOidValue)\r