]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/DxeNetLib/DxeNetLib.c
MdeModulePkg: Replace [Ascii|Unicode]ValueToString
[mirror_edk2.git] / MdeModulePkg / Library / DxeNetLib / DxeNetLib.c
index 37b89f5ca408c98111cb5a180f8b834d43646660..6066526abee509a07cbf7014d5e698546d3f4162 100644 (file)
@@ -2225,6 +2225,7 @@ NetLibGetMacString (
   UINT16                       VlanId;\r
   CHAR16                       *String;\r
   UINTN                        Index;\r
+  UINTN                        BufferSize;\r
 \r
   ASSERT (MacString != NULL);\r
 \r
@@ -2241,7 +2242,8 @@ NetLibGetMacString (
   // If VLAN is configured, it will need extra 5 characters like "\0005".\r
   // Plus one unicode character for the null-terminator.\r
   //\r
-  String = AllocateZeroPool ((2 * HwAddressSize + 5 + 1) * sizeof (CHAR16));\r
+  BufferSize = (2 * HwAddressSize + 5 + 1) * sizeof (CHAR16);\r
+  String = AllocateZeroPool (BufferSize);\r
   if (String == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
@@ -2252,7 +2254,14 @@ NetLibGetMacString (
   //\r
   HwAddress = &MacAddress.Addr[0];\r
   for (Index = 0; Index < HwAddressSize; Index++) {\r
-    String += UnicodeValueToString (String, PREFIX_ZERO | RADIX_HEX, *(HwAddress++), 2);\r
+    UnicodeValueToStringS (\r
+      String,\r
+      BufferSize - ((UINTN)String - (UINTN)*MacString),\r
+      PREFIX_ZERO | RADIX_HEX,\r
+      *(HwAddress++),\r
+      2\r
+      );\r
+    String += StrnLenS (String, (BufferSize - ((UINTN)String - (UINTN)*MacString)) / sizeof (CHAR16));\r
   }\r
 \r
   //\r
@@ -2261,7 +2270,14 @@ NetLibGetMacString (
   VlanId = NetLibGetVlanId (ServiceHandle);\r
   if (VlanId != 0) {\r
     *String++ = L'\\';\r
-    String += UnicodeValueToString (String, PREFIX_ZERO | RADIX_HEX, VlanId, 4);\r
+    UnicodeValueToStringS (\r
+      String,\r
+      BufferSize - ((UINTN)String - (UINTN)*MacString),\r
+      PREFIX_ZERO | RADIX_HEX,\r
+      VlanId,\r
+      4\r
+      );\r
+    String += StrnLenS (String, (BufferSize - ((UINTN)String - (UINTN)*MacString)) / sizeof (CHAR16));\r
   }\r
 \r
   //\r