Revision: 18702
          http://sourceforge.net/p/edk2/code/18702
Author:   qlong
Date:     2015-10-29 14:16:37 +0000 (Thu, 29 Oct 2015)
Log Message:
-----------
CryptoPkg/BaseCryptLib: Clean up checking of PKCS#7 contents type

Use the new OBJ_get0_data() accessor to compare the data, and actually
check the length of the object too.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: David Woodhouse <[email protected]>
Tested-by: Laszlo Ersek <[email protected]>
Reviewed-by: Qin Long <[email protected]>

Modified Paths:
--------------
    trunk/edk2/CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c

Modified: trunk/edk2/CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c
===================================================================
--- trunk/edk2/CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c    
2015-10-29 14:16:30 UTC (rev 18701)
+++ trunk/edk2/CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c    
2015-10-29 14:16:37 UTC (rev 18702)
@@ -77,7 +77,7 @@
   UINT8        *SpcIndirectDataContent;
   UINT8        Asn1Byte;
   UINTN        ContentSize;
-  UINT8        *SpcIndirectDataOid;
+  CONST UINT8  *SpcIndirectDataOid;
 
   //
   // Check input parameters.
@@ -115,8 +115,9 @@
   //       some authenticode-specific structure. Use opaque ASN.1 string to 
retrieve
   //       PKCS#7 ContentInfo here.
   //
-  SpcIndirectDataOid = (UINT8 *)(Pkcs7->d.sign->contents->type->data);
-  if (CompareMem (
+  SpcIndirectDataOid = OBJ_get0_data(Pkcs7->d.sign->contents->type);
+  if (OBJ_length(Pkcs7->d.sign->contents->type) != 
sizeof(mSpcIndirectOidValue) ||
+      CompareMem (
         SpcIndirectDataOid,
         mSpcIndirectOidValue,
         sizeof (mSpcIndirectOidValue)


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to