]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BasePrintLib/PrintLibInternal.c
• BaseMemoryLib:
[mirror_edk2.git] / MdePkg / Library / BasePrintLib / PrintLibInternal.c
index 89d18b09a2c5ffeadcbf622403ea06f8979ccfd9..9314b609119626be20906b5a00325b4a65eab4a1 100644 (file)
@@ -117,7 +117,7 @@ BasePrintLibValueToString (
   @param  Flags     The bitmask of flags that specify left justification, zero pad,\r
                     and commas.\r
   @param  Value     The 64-bit signed value to convert to a string.\r
-  @param  Width            The maximum number of characters to place in Buffer.\r
+  @param  Width      The maximum number of characters to place in Buffer.\r
   @param  Increment Character increment in Buffer.\r
   \r
   @return Total number of characters required to perform the conversion.\r
@@ -138,13 +138,20 @@ BasePrintLibConvertValueToString (
   UINTN  Digits;\r
   UINTN  Index;\r
 \r
+  ASSERT (Buffer != NULL);\r
+  ASSERT (Width < MAXIMUM_VALUE_CHARACTERS);\r
+  //\r
+  // Make sure Flags can only contain supported bits.\r
+  //\r
+  ASSERT ((Flags & ~(LEFT_JUSTIFY | COMMA_TYPE | PREFIX_ZERO)) == 0);\r
+\r
   OriginalBuffer = Buffer;\r
 \r
   if (Width == 0 || (Flags & COMMA_TYPE) != 0) {\r
     Flags &= (~PREFIX_ZERO);\r
   }\r
 \r
-  if (Width == 0 || Width > (MAXIMUM_VALUE_CHARACTERS - 1)) {\r
+  if (Width == 0) {\r
     Width = MAXIMUM_VALUE_CHARACTERS - 1;\r
   }\r
 \r