]> xenbits.xensource.com Git - ovmf.git/commitdiff
ShellPkg/Library: Fix 32-bit truncation of pointer values
authorMichael D Kinney <michael.d.kinney@intel.com>
Sat, 11 Mar 2023 19:31:51 +0000 (11:31 -0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 13 Mar 2023 22:11:55 +0000 (22:11 +0000)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4366

Update C and UNI files that are incorrectly using %x or %08x
instead of %p for pointer values.  On 64-bit systems, this is
truncating pointer values above 4GB.

In reviewing ShellPkg for this issue some unused UNI strings
with incorrect format specifiers were removed instead of being
fixed.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni
ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni
ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c
ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.uni
ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.uni

index aa3396cea94df23c30afece5d1916e2815a6a643..6bcb3cd9e46190a38d018d6c4943a6ddeb0d8fdf 100644 (file)
 #string STR_HII                   #language en-US "HII"\r
 #string STR_HII_FORM_CALLBACK     #language en-US "HIICallback"\r
 \r
-#string STR_TXT_OUT_DUMP_HEADER   #language en-US "  Address: %%H%X%%N Attrib %02x"\r
+#string STR_TXT_OUT_DUMP_HEADER   #language en-US "  Address: %%H%p%%N Attrib %02x"\r
 #string STR_TXT_OUT_DUMP_LINE     #language en-US "\r\n  %c  mode %d: Col %d Row %d"\r
 \r
 #string STR_DRIVER_FAM_OVERRIDE   #language en-US "DriverFamilyOverride"\r
 #string STR_DEBUGSUPPORT_INFO     #language en-US "  Isa = %s"\r
 #string STR_DEBUGSUPPORT_UNKNOWN  #language en-US "  Unknown (%%H%s%%N)"\r
 \r
-#string STR_PCIRB_DUMP_PH         #language en-US "  ParentHandle..: %%H%x%%N\r\n"\r
+#string STR_PCIRB_DUMP_PH         #language en-US "  ParentHandle..: %%H%p%%N\r\n"\r
 #string STR_PCIRB_DUMP_SEG        #language en-US "  Segment #.....: %%H%x%%N\r\n"\r
 #string STR_PCIRB_DUMP_ATT        #language en-US "  Attributes....: %%H%x%%N\r\n"\r
 #string STR_PCIRB_DUMP_SUPPORTS   #language en-US "  Supports......: %%H%x%%N\r\n"\r
                                                   "  Device #......: %02x\r\n"\r
                                                   "  Function #....: %02x\r\n"\r
                                                   "  ROM Size......: %lx\r\n"\r
-                                                  "  ROM Location..: %08x\r\n"\r
+                                                  "  ROM Location..: %p\r\n"\r
                                                   "  Vendor ID.....: %04x\r\n"\r
                                                   "  Device ID.....: %04x\r\n"\r
                                                   "  Class Code....: %02x %02x %02x\r\n"\r
 #string STR_LI_DUMP_NAME          #language en-US "  Name..........: %%H%s%%N\r\n"\r
 \r
 #string STR_LI_DUMP_MAIN          #language en-US "  Revision......: %%H0x%08x%%N\r\n"\r
-                                                  "  ParentHandle..: %%H%x%%N\r\n"\r
-                                                  "  SystemTable...: %%H%x%%N\r\n"\r
-                                                  "  DeviceHandle..: %%H%x%%N\r\n"\r
+                                                  "  ParentHandle..: %%H%p%%N\r\n"\r
+                                                  "  SystemTable...: %%H%p%%N\r\n"\r
+                                                  "  DeviceHandle..: %%H%p%%N\r\n"\r
                                                   "  FilePath......: %%H%s%%N\r\n"\r
                                                   "  PdbFileName...: %%H%a%%N\r\n"\r
                                                   "  OptionsSize...: %%H%x%%N\r\n"\r
-                                                  "  LoadOptions...: %%H%x%%N\r\n"\r
-                                                  "  ImageBase.....: %%H%x%%N\r\n"\r
+                                                  "  LoadOptions...: %%H%p%%N\r\n"\r
+                                                  "  ImageBase.....: %%H%p%%N\r\n"\r
                                                   "  ImageSize.....: %%H%Lx%%N\r\n"\r
                                                   "  CodeType......: %%H%s%%N\r\n"\r
                                                   "  DataType......: %%H%s%%N\r\n"\r
-                                                  "  Unload........: %%H%x%%N"\r
+                                                  "  Unload........: %%H%p%%N"\r
 \r
 #string STR_GOP_DUMP_MAIN         #language en-US "  Max Mode..............: %%H0x%08x%%N\r\n"\r
                                                   "  Current Mode..........: %%H0x%08x%%N\r\n"\r
index b1d239ed37ea31c15d08935af73de0eabe5b02cf..4fedc0d1493c9bc6c7a12f8cde9a1ae3d1057be8 100644 (file)
 \r
 #string STR_DMEM_HEADER_ROW       #language en-US "Memory Address %016LX %X Bytes\r\n"\r
 #string STR_DMEM_MMIO_HEADER_ROW  #language en-US "Memory Mapped IO Address %016LX %X Bytes\r\n"\r
-#string STR_DMEM_DATA_ROW         #language en-US "%08X: %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x *%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c*\r\n"\r
 #string STR_DMEM_SYSTEM_TABLE     #language en-US "\r\nValid EFI Header at Address %016Lx\r\n"\r
                                                   "---------------------------------------------\r\n"\r
                                                   "System: Table Structure size %08x revision %08x\r\n"\r
 " \r\n"\r
 "  * To edit memory region starting at address 0x00000000 with size of 2 bytes:\r\n"\r
 "    fs0:\> hexedit -m 0 2\r\n"\r
-\r
index dd9aba50d75465370d668b9b586cddb3972e22c2..d17d50fe13fa96b650483c3fdb4f8d442fc9581c 100644 (file)
@@ -325,7 +325,7 @@ GetProtocolInfoString (
         Status = gBS->HandleProtocol (TheHandle, ProtocolGuidArray[ProtocolIndex], &Instance);\r
         if (!EFI_ERROR (Status)) {\r
           StrnCatGrow (&RetVal, &Size, L"(%H", 0);\r
-          UnicodeSPrint (InstanceStr, sizeof (InstanceStr), L"%x", Instance);\r
+          UnicodeSPrint (InstanceStr, sizeof (InstanceStr), L"%p", Instance);\r
           StrnCatGrow (&RetVal, &Size, InstanceStr, 0);\r
           StrnCatGrow (&RetVal, &Size, L"%N)", 0);\r
         }\r
index fc4986c8c62f48e703684c0012edc220f0d30864..230779a4b30d809ed7cc65403f036837ae6ca5a5 100644 (file)
 #string STR_DH_OUTPUT_GUID_HEADER #language en-US "Handle dump by protocol '%g'\r\n"\r
 #string STR_DH_OUTPUT_NAME_HEADER #language en-US "Handle dump by protocol '%s'\r\n"\r
 #string STR_DH_OUTPUT_SINGLE_D    #language en-US "%H%02x%N: %s\r\n"\r
-#string STR_DH_OUTPUT_SINGLE      #language en-US "%H%02x%N: %x\r\n%s"\r
+#string STR_DH_OUTPUT_SINGLE      #language en-US "%H%02x%N: %p\r\n%s"\r
 #string STR_DH_OUTPUT_SFO         #language en-US "%s, %s, %s, %H%02x%N, %s, %s\r\n"\r
 #string STR_DH_OUTPUT_DRIVER1     #language en-US "   Controller Name    : %H%s%N\r\n"\r
 #string STR_DH_OUTPUT_DRIVER2     #language en-US "   Device Path        : %H%s%N\r\n"\r
 #string STR_DEV_TREE_OUTPUT       #language en-US "Ctrl[%H%02x%N] %s\r\n"\r
 \r
 #string STR_UNLOAD_CONF           #language en-US "%HUnload%N - Handle [%H%02x%N].  [y/n]?\r\n"\r
-#string STR_UNLOAD_VERBOSE        #language en-US ""\r
-"Handle [%H%02x%N] (%08x)\r\n"\r
-"  Image (%08x)\r\n"\r
-"    ParentHandle..: %08x\r\n"\r
-"    SystemTable...: %08x\r\n"\r
-"    DeviceHandle..: %08x\r\n"\r
-"    FilePath......: %s\r\n"\r
-"    PDBFileName...: %a\r\n"\r
-"    ImageBase.....: %08x\r\n"\r
-"    ImageSize.....: %Ld\r\n"\r
-"    CodeType......: %s\r\n"\r
-"    DataType......: %s\r\n"\r
 \r
 #string STR_OPENINFO_HEADER_LINE  #language en-US "Handle %H%02x%N (%H%0p%N)\r\n"\r
 #string STR_OPENINFO_LINE         #language en-US "  Drv[%H%02x%N] Ctrl[%H%02x%N] Cnt(%H%02x%N) %H%s Image%N(%s)\r\n"\r
 "                             violation.\r\n"\r
 "  SHELL_INVALID_PARAMETER    One of the passed in parameters was incorrectly\r\n"\r
 "                             formatted or its value was out of bounds.\r\n"\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
index 8ce015746f7c121a334940fd042334950817d9b7..0a0cd3090e0fefed27a257b7e16039f6a7e49591 100644 (file)
 \r
 #string STR_LOAD_NOT_IMAGE        #language en-US "Image '%s' is not an image.\r\n"\r
 #string STR_LOAD_NOT_DRIVER       #language en-US "Image '%s' is not a driver.\r\n"\r
-#string STR_LOAD_LOADED           #language en-US "Image '%s' loaded at %x - %r\r\n"\r
+#string STR_LOAD_LOADED           #language en-US "Image '%s' loaded at %p - %r\r\n"\r
 #string STR_LOAD_ERROR            #language en-US "Image '%s' error in StartImage: %r\r\n"\r
 \r
 #string STR_LS_LINE_START_ALL     #language en-US "%t %5s %1c % ,L11d  "\r
 "  SHELL_SECURITY_VIOLATION   This function was not performed due to a security\r\n"\r
 "                             violation.\r\n"\r
 "  SHELL_NOT_FOUND            The target file-system was not found.\r\n"\r
-\r