Skip to contentSkip to conversation

net: tftp: Make sure timeout will not effect wrap offset

PATCH New rockly 1 participant 1 message Aug 3, 2013 Networking

lore
Share & tools
lore

rockly

author
#0 lore raw

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.

---

net/tftp.c +1 -1
index 6d333d5..2e06808 100644
@@ -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 */