CHAR16 *SerialNumber;\r
CHAR16 *Description;\r
EFI_USB_DEVICE_DESCRIPTOR DevDesc;\r
+ UINTN DescMaxSize;\r
\r
Status = gBS->HandleProtocol (\r
Handle,\r
return NULL;\r
}\r
\r
- Description = AllocateZeroPool (StrSize (Manufacturer) + StrSize (Product) + StrSize (SerialNumber));\r
+ DescMaxSize = StrSize (Manufacturer) + StrSize (Product) + StrSize (SerialNumber);\r
+ Description = AllocateZeroPool (DescMaxSize);\r
ASSERT (Description != NULL);\r
- StrCat (Description, Manufacturer);\r
- StrCat (Description, L" ");\r
+ StrCatS (Description, DescMaxSize/sizeof(CHAR16), Manufacturer);\r
+ StrCatS (Description, DescMaxSize/sizeof(CHAR16), L" ");\r
\r
- StrCat (Description, Product); \r
- StrCat (Description, L" ");\r
+ StrCatS (Description, DescMaxSize/sizeof(CHAR16), Product); \r
+ StrCatS (Description, DescMaxSize/sizeof(CHAR16), L" ");\r
\r
- StrCat (Description, SerialNumber);\r
+ StrCatS (Description, DescMaxSize/sizeof(CHAR16), SerialNumber);\r
\r
if (Manufacturer != &NullChar) {\r
FreePool (Manufacturer);\r
//\r
Temp = AllocatePool (StrSize (DefaultDescription) + sizeof (mBmUefiPrefix)); \r
ASSERT (Temp != NULL);\r
- StrCpy (Temp, mBmUefiPrefix);\r
- StrCat (Temp, DefaultDescription);\r
+ StrCpyS ( Temp, \r
+ (StrSize (DefaultDescription) + sizeof (mBmUefiPrefix))/sizeof(CHAR16), \r
+ mBmUefiPrefix\r
+ );\r
+ StrCatS ( Temp, \r
+ (StrSize (DefaultDescription) + sizeof (mBmUefiPrefix))/sizeof(CHAR16), \r
+ DefaultDescription\r
+ );\r
FreePool (DefaultDescription);\r
DefaultDescription = Temp;\r
break;\r