UsbWwid->VendorId = (UINT16) Strtoi (VIDStr);\r
UsbWwid->ProductId = (UINT16) Strtoi (PIDStr);\r
UsbWwid->InterfaceNumber = (UINT16) Strtoi (InterfaceNumStr);\r
- StrnCpy ((CHAR16 *) ((UINT8 *) UsbWwid + sizeof (USB_WWID_DEVICE_PATH)), SerialNumberStr, SerialNumberStrLen);\r
+\r
+ //\r
+ // There is no memory allocated in UsbWwid for the '\0' in SerialNumberStr.\r
+ // Therefore, the '\0' will not be copied.\r
+ //\r
+ CopyMem (\r
+ (UINT8 *) UsbWwid + sizeof (USB_WWID_DEVICE_PATH),\r
+ SerialNumberStr,\r
+ SerialNumberStrLen * sizeof (CHAR16)\r
+ );\r
\r
return (EFI_DEVICE_PATH_PROTOCOL *) UsbWwid;\r
}\r
if (TempNumBuffer == NULL) {\r
break;\r
}\r
- StrnCpy (TempNumBuffer, L"0x", TempBufferSize / sizeof (CHAR16));\r
- StrnCat (TempNumBuffer + StrLen (L"0x"), Walker, TempBufferSize / sizeof (CHAR16) - StrLen (L"0x") );\r
+ StrCpyS (TempNumBuffer, TempBufferSize / sizeof (CHAR16), L"0x");\r
+ StrCatS (TempNumBuffer, TempBufferSize / sizeof (CHAR16), Walker);\r
BluetoothDp->BD_ADDR.Address[Index] = (UINT8)Strtoi (TempNumBuffer);\r
FreePool (TempNumBuffer);\r
Index--;\r
(UINT16) (sizeof (FILEPATH_DEVICE_PATH) + StrLen (TextDeviceNode) * 2)\r
);\r
\r
- StrCpy (File->PathName, TextDeviceNode);\r
+ StrCpyS (File->PathName, StrLen (TextDeviceNode) + 1, TextDeviceNode);\r
\r
return (EFI_DEVICE_PATH_PROTOCOL *) File;\r
}\r