//\r
do {\r
if ((SaveReplyLen = ReplyLen) > BufferSize) {\r
- SaveReplyLen = (UINTN) BufferSize;\r
+ SaveReplyLen = 0;\r
}\r
\r
/* %%TBD - add big block number support */\r
*(PacketSizePtr = &PacketSize) = MAX_TFTP_PKT_SIZE;\r
}\r
\r
- if (*PacketSizePtr > *BufferSizePtr) {\r
- *PacketSizePtr = (UINTN) *BufferSizePtr;\r
+ if ((*PacketSizePtr > *BufferSizePtr) &&\r
+ (Operation != EFI_PXE_BASE_CODE_TFTP_GET_FILE_SIZE) &&\r
+ (Operation != EFI_PXE_BASE_CODE_MTFTP_GET_FILE_SIZE)) {\r
+ *PacketSizePtr = MAX ((UINTN) *BufferSizePtr, MIN_TFTP_PKT_SIZE);\r
}\r
\r
if (*PacketSizePtr < MIN_TFTP_PKT_SIZE) {\r