net: tftp: Make sure timeout will not effect wrap offset
PATCH 1/1 net: tftp: Make sure timeout will not effect wrap offset
Hi:
When the block 0 store to the memory of client and timeout at this moment. Because of no ACK packet, the server will send block 0 again, if this client reconnect to the server at this time , TftpBlockWrapOffset will become larger than it should be.
Signed-off-by Rockly <[email protected]>
---
net/tftp.c +1 -1
@@ -281,7 +281,7 @@ static void update_block_number(void)* number of 0 this means that there was a wrap * around of the (16 bit) counter. */ -if (TftpBlock ==0 ) { +if (TftpBlock ==0 && TftpLastBlock !=0 ) { TftpBlockWrap++; TftpBlockWrapOffset += TftpBlkSize *TFTP_SEQUENCE_SIZE ; TftpTimeoutCount =0 ;/* we've done well, reset thhe
timeout */