Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a...@intel.com>
Reviewed-by: Liming Gao <liming....@intel.com>
---
 MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c 
b/MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c
index d58f069..2ad0463 100644
--- a/MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c
+++ b/MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c
@@ -2596,7 +2596,7 @@ DevPathFromTextUsbWwid (
   UsbWwid->VendorId        = (UINT16) Strtoi (VIDStr);
   UsbWwid->ProductId       = (UINT16) Strtoi (PIDStr);
   UsbWwid->InterfaceNumber = (UINT16) Strtoi (InterfaceNumStr);
-  StrnCpy ((CHAR16 *) ((UINT8 *) UsbWwid + sizeof (USB_WWID_DEVICE_PATH)), 
SerialNumberStr, SerialNumberStrLen);
+  CopyMem ((CHAR16 *) ((UINT8 *) UsbWwid + sizeof (USB_WWID_DEVICE_PATH)), 
SerialNumberStr, SerialNumberStrLen);
 
   return (EFI_DEVICE_PATH_PROTOCOL *) UsbWwid;
 }
@@ -2759,8 +2759,18 @@ DevPathFromTextBluetooth (
     if (TempNumBuffer == NULL) {
       break;
     }
-    StrnCpy (TempNumBuffer, L"0x", TempBufferSize / sizeof (CHAR16));
-    StrnCat (TempNumBuffer + StrLen (L"0x"), Walker, TempBufferSize / sizeof 
(CHAR16) - StrLen (L"0x") );
+    StrnCpyS (
+      TempNumBuffer,
+      TempBufferSize / sizeof (CHAR16),
+      L"0x",
+      TempBufferSize / sizeof (CHAR16) - 1
+      );
+    StrnCatS (
+      TempNumBuffer + StrLen (L"0x"),
+      TempBufferSize / sizeof (CHAR16) - StrLen (L"0x"),
+      Walker,
+      TempBufferSize / sizeof (CHAR16) - StrLen (L"0x") - 1
+      );
     BluetoothDp->BD_ADDR.Address[Index] = (UINT8)Strtoi (TempNumBuffer);
     FreePool (TempNumBuffer);
     Index--;
@@ -2982,7 +2992,7 @@ DevPathFromTextFilePath (
                                     (UINT16) (sizeof (FILEPATH_DEVICE_PATH) + 
StrLen (TextDeviceNode) * 2)
                                     );
 
-  StrCpy (File->PathName, TextDeviceNode);
+  StrCpyS (File->PathName, StrLen (TextDeviceNode) + 1, TextDeviceNode);
 
   return (EFI_DEVICE_PATH_PROTOCOL *) File;
 }
-- 
1.9.5.msysgit.0


------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to