\r
@param PdbFileName The long PDB file name.\r
@param GaugeString The output string to be logged by performance logger.\r
+ @param StringSize The buffer size of GaugeString in bytes.\r
\r
**/\r
VOID\r
BmGetShortPdbFileName (\r
IN CONST CHAR8 *PdbFileName,\r
- OUT CHAR8 *GaugeString\r
+ OUT CHAR8 *GaugeString,\r
+ IN UINTN StringSize\r
)\r
{\r
UINTN Index;\r
UINTN EndIndex;\r
\r
if (PdbFileName == NULL) {\r
- AsciiStrCpy (GaugeString, " ");\r
+ AsciiStrCpyS (GaugeString, StringSize, " ");\r
} else {\r
StartIndex = 0;\r
for (EndIndex = 0; PdbFileName[EndIndex] != 0; EndIndex++)\r
\r
@param Handle Driver handle.\r
@param GaugeString The output string to be logged by performance logger.\r
+ @param StringSize The buffer size of GaugeString in bytes.\r
\r
**/\r
VOID\r
BmGetNameFromHandle (\r
IN EFI_HANDLE Handle,\r
- OUT CHAR8 *GaugeString\r
+ OUT CHAR8 *GaugeString,\r
+ IN UINTN StringSize\r
)\r
{\r
EFI_STATUS Status;\r
CHAR8 *PdbFileName;\r
EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;\r
\r
- AsciiStrCpy (GaugeString, " ");\r
+ AsciiStrCpyS (GaugeString, StringSize, " ");\r
\r
//\r
// Get handle name from image protocol\r
PdbFileName = PeCoffLoaderGetPdbPointer (Image->ImageBase);\r
\r
if (PdbFileName != NULL) {\r
- BmGetShortPdbFileName (PdbFileName, GaugeString);\r
+ BmGetShortPdbFileName (PdbFileName, GaugeString, StringSize);\r
}\r
\r
return ;\r
\r
if (Duration > 0) {\r
\r
- BmGetNameFromHandle (Handles[Index], GaugeString);\r
+ BmGetNameFromHandle (Handles[Index], GaugeString, PERF_TOKEN_LENGTH);\r
\r
- AsciiStrCpy (mBmPerfData.Token, GaugeString);\r
+ AsciiStrCpyS (mBmPerfData.Token, PERF_TOKEN_SIZE, GaugeString);\r
mBmPerfData.Duration = Duration;\r
\r
CopyMem (Ptr, &mBmPerfData, sizeof (PERF_DATA));\r
\r
ZeroMem (&mBmPerfData, sizeof (PERF_DATA));\r
\r
- AsciiStrnCpy (mBmPerfData.Token, Token, PERF_TOKEN_LENGTH);\r
+ AsciiStrCpyS (mBmPerfData.Token, PERF_TOKEN_SIZE, Token);\r
if (StartTicker == 1) {\r
StartTicker = StartValue;\r
}\r