FormatString = (CHAR8 *)((UINT64 *)(DebugInfo + 1) + 12);\r
\r
//\r
- // Copy the Format string into the record\r
+ // Copy the Format string into the record. It will be truncated if it's too long.\r
//\r
// According to the content structure of Buffer shown above, the size of\r
// the FormatString buffer is the size of Buffer minus the Padding\r
// variable arguments (12 * sizeof (UINT64)).\r
//\r
DestBufferSize = sizeof (Buffer) - 4 - sizeof (EFI_DEBUG_INFO) - 12 * sizeof (UINT64);\r
- AsciiStrCpyS (FormatString, DestBufferSize / sizeof (CHAR8), Format);\r
+ AsciiStrnCpyS (FormatString, DestBufferSize / sizeof (CHAR8), Format, DestBufferSize / sizeof (CHAR8) - 1);\r
\r
//\r
// The first 12 * sizeof (UINT64) bytes following EFI_DEBUG_INFO are for variable arguments\r