X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FNetwork%2FPxeBcDxe%2FPxe_bc_mtftp.c;h=b065a53f3a31d290ae671187ce08bf7de5fc2020;hp=6a42646ab3de5603937b9f3ccab82a5d63421ddb;hb=07e3550e9ad40806d54261d65123de2628129912;hpb=01750eb0aad0510c13da7453fa0c0b64aef0bc72 diff --git a/MdeModulePkg/Universal/Network/PxeBcDxe/Pxe_bc_mtftp.c b/MdeModulePkg/Universal/Network/PxeBcDxe/Pxe_bc_mtftp.c index 6a42646ab3..b065a53f3a 100644 --- a/MdeModulePkg/Universal/Network/PxeBcDxe/Pxe_bc_mtftp.c +++ b/MdeModulePkg/Universal/Network/PxeBcDxe/Pxe_bc_mtftp.c @@ -778,7 +778,7 @@ MtftpListen ( // do { if ((SaveReplyLen = ReplyLen) > BufferSize) { - SaveReplyLen = (UINTN) BufferSize; + SaveReplyLen = 0; } /* %%TBD - add big block number support */ @@ -1818,8 +1818,10 @@ PxeBcMtftp ( *(PacketSizePtr = &PacketSize) = MAX_TFTP_PKT_SIZE; } - if (*PacketSizePtr > *BufferSizePtr) { - *PacketSizePtr = (UINTN) *BufferSizePtr; + if ((*PacketSizePtr > *BufferSizePtr) && + (Operation != EFI_PXE_BASE_CODE_TFTP_GET_FILE_SIZE) && + (Operation != EFI_PXE_BASE_CODE_MTFTP_GET_FILE_SIZE)) { + *PacketSizePtr = MAX ((UINTN) *BufferSizePtr, MIN_TFTP_PKT_SIZE); } if (*PacketSizePtr < MIN_TFTP_PKT_SIZE) {