]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcMtftp.c
Append the terminating null character at the end of the string to avoid buffer overflow.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / UefiPxeBcDxe / PxeBcMtftp.c
index 54de16ca5f87e5a4a93b05bf504eb84c983daac9..aa73132cb59d6237d72ad4872d802322fcc8e192 100644 (file)
@@ -60,7 +60,8 @@ PxeBcCheckPacket (
   if (Packet->OpCode == EFI_MTFTP4_OPCODE_ERROR) {\r
     Private->Mode.TftpErrorReceived = TRUE;\r
     Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode;\r
-    AsciiStrnCpy (Private->Mode.TftpError.ErrorString, (CHAR8 *) Packet->Error.ErrorMessage, 127);\r
+    AsciiStrnCpy (Private->Mode.TftpError.ErrorString, (CHAR8 *) Packet->Error.ErrorMessage, PXE_MTFTP_ERROR_STRING_LENGTH);\r
+    Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0';\r
   }\r
 \r
   if (Callback != NULL) {\r
@@ -162,8 +163,9 @@ PxeBcTftpGetFileSize (
       AsciiStrnCpy (\r
         Private->Mode.TftpError.ErrorString, \r
         (CHAR8 *) Packet->Error.ErrorMessage, \r
-        127\r
+        PXE_MTFTP_ERROR_STRING_LENGTH\r
         );\r
+      Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0';\r
     }\r
     goto ON_ERROR;\r
   }\r