]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools/VolInfo: Correct EFI_SECTION_VERSION display
authorKonstantin Aladyshev <aladyshev22@gmail.com>
Mon, 18 Jul 2022 09:43:52 +0000 (17:43 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sun, 24 Jul 2022 15:21:20 +0000 (15:21 +0000)
- Correct typo in print statement,
- "BuildNumber" field is UINT16, therefore it needs "0x%04X" format
modifier,
- "VersionString" field is CHAR16, therefore the input data should be
processed to be displayed with "%s" printf modifier.

Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
BaseTools/Source/C/VolInfo/VolInfo.c

index 8b6fcffa4872ac48b07a784aba1a8f2d8161e50f..ed56587058f74319dad55778fe61ef796cf05981 100644 (file)
@@ -1676,6 +1676,7 @@ Returns:
   CHAR8               *ToolInputFileName;\r
   CHAR8               *ToolOutputFileName;\r
   CHAR8               *UIFileName;\r
+  CHAR8               *VersionString;\r
 \r
   ParsedLength = 0;\r
   ToolInputFileName = NULL;\r
@@ -1816,8 +1817,14 @@ Returns:
       break;\r
 \r
     case EFI_SECTION_VERSION:\r
-      printf ("  Build Number:  0x%02X\n", *(UINT16 *)(Ptr + SectionHeaderLen));\r
-      printf ("  Version Strg:  %s\n", (char*) (Ptr + SectionHeaderLen + sizeof (UINT16)));\r
+      printf ("  Build Number:  0x%04X\n", *(UINT16 *)(Ptr + SectionHeaderLen));\r
+      VersionString = (CHAR8 *) malloc (UnicodeStrLen (((EFI_VERSION_SECTION *) Ptr)->VersionString) + 1);\r
+      if (VersionString == NULL) {\r
+        Error (NULL, 0, 4001, "Resource", "memory cannot be allocated!");\r
+        return EFI_OUT_OF_RESOURCES;\r
+      }\r
+      Unicode2AsciiString (((EFI_VERSION_SECTION *) Ptr)->VersionString, VersionString);\r
+      printf ("  Version String:  %s\n", VersionString);\r
       break;\r
 \r
     case EFI_SECTION_COMPRESSION:\r