]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c
CryptoPkg/BaseCryptLib: Use accessor functions for X509_ATTRIBUTE
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLib / Pk / CryptTs.c
index 7d269b04588f6d193ce1193f7ffd15d03f4c2f47..f01bbb243b05150d139d1c413b7b93e875380cd7 100644 (file)
@@ -613,6 +613,7 @@ ImageTimestampVerify (
   UINTN                        Index;\r
   STACK_OF(X509_ATTRIBUTE)     *Sk;\r
   X509_ATTRIBUTE               *Xa;\r
+  ASN1_OBJECT                  *XaObj;\r
   ASN1_TYPE                    *Asn1Type;\r
   ASN1_OCTET_STRING            *EncDigest;\r
   UINT8                        *TSToken;\r
@@ -692,11 +693,18 @@ ImageTimestampVerify (
     // Search valid RFC3161 timestamp counterSignature based on OBJID.\r
     //\r
     Xa = sk_X509_ATTRIBUTE_value (Sk, (int)Index);\r
-    if ((Xa->object->length != sizeof (mSpcRFC3161OidValue)) ||\r
-        (CompareMem (Xa->object->data, mSpcRFC3161OidValue, sizeof (mSpcRFC3161OidValue)) != 0)) {\r
+    if (Xa == NULL) {\r
       continue;\r
     }\r
-    Asn1Type = sk_ASN1_TYPE_value (Xa->value.set, 0);\r
+    XaObj = X509_ATTRIBUTE_get0_object(Xa);\r
+    if (XaObj == NULL) {\r
+      continue;\r
+    }\r
+    if ((XaObj->length != sizeof (mSpcRFC3161OidValue)) ||\r
+        (CompareMem (XaObj->data, mSpcRFC3161OidValue, sizeof (mSpcRFC3161OidValue)) != 0)) {\r
+      continue;\r
+    }\r
+    Asn1Type = X509_ATTRIBUTE_get0_type(Xa, 0);\r
   }\r
 \r
   if (Asn1Type == NULL) {\r