]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/UefiLib/UefiLibPrint.c
MdePkg UefiLib: Fix wrong DestMax passed to StrCpyS()
[mirror_edk2.git] / MdePkg / Library / UefiLib / UefiLibPrint.c
index cc41eb03433939bdc6469afa6c7745121bc7a286..9f52e7d0ceb8193c7403f572a7090869a53b3d66 100644 (file)
@@ -754,10 +754,16 @@ CatVSPrint (
     SizeRequired = sizeof(CHAR16) + (CharactersRequired * sizeof(CHAR16));\r
   }\r
 \r
-  BufferToReturn = AllocateCopyPool(SizeRequired, String);\r
+  BufferToReturn = AllocatePool(SizeRequired);\r
 \r
   if (BufferToReturn == NULL) {\r
     return NULL;\r
+  } else {\r
+    BufferToReturn[0] = L'\0';\r
+  }\r
+\r
+  if (String != NULL) {\r
+    StrCpyS(BufferToReturn, SizeRequired / sizeof(CHAR16), String);\r
   }\r
 \r
   UnicodeVSPrint(BufferToReturn + StrLen(BufferToReturn), (CharactersRequired+1) * sizeof(CHAR16), FormatString, Marker);\r