]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c
CryptoPkg/BaseCryptLib: Use i2d_X509_NAME() instead of abusing X509_NAME
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLib / Pk / CryptX509.c
index fba356f8e75860aef4ae5e9ccd8bc715a92af5f5..5d6be6fce9e545408529b43c6baff85d059d8e08 100644 (file)
@@ -245,6 +245,7 @@ X509GetSubjectName (
   BOOLEAN    Status;\r
   X509       *X509Cert;\r
   X509_NAME  *X509Name;\r
+  UINTN      X509NameSize;\r
 \r
   //\r
   // Check input parameters.\r
@@ -274,13 +275,14 @@ X509GetSubjectName (
     goto _Exit;\r
   }\r
 \r
-  if (*SubjectSize < (UINTN) X509Name->bytes->length) {\r
-    *SubjectSize = (UINTN) X509Name->bytes->length;\r
+  X509NameSize = i2d_X509_NAME(X509Name, NULL);\r
+  if (*SubjectSize < X509NameSize) {\r
+    *SubjectSize = X509NameSize;\r
     goto _Exit;\r
   }\r
-  *SubjectSize = (UINTN) X509Name->bytes->length;\r
+  *SubjectSize = X509NameSize;\r
   if (CertSubject != NULL) {\r
-    CopyMem (CertSubject, (UINT8 *) X509Name->bytes->data, *SubjectSize);\r
+    i2d_X509_NAME(X509Name, &CertSubject);\r
     Status = TRUE;\r
   }\r
 \r