diff options
-rw-r--r-- | networking/tftp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/networking/tftp.c b/networking/tftp.c index 095dc58f9..334d03b6a 100644 --- a/networking/tftp.c +++ b/networking/tftp.c | |||
@@ -458,6 +458,12 @@ static inline int tftp(const int cmd, const struct hostent *host, | |||
458 | opcode = TFTP_ACK; | 458 | opcode = TFTP_ACK; |
459 | continue; | 459 | continue; |
460 | } | 460 | } |
461 | /* in case the last ack disappeared into the ether */ | ||
462 | if ( tmp == (block_nr - 1) ) { | ||
463 | --block_nr; | ||
464 | opcode = TFTP_ACK; | ||
465 | continue; | ||
466 | } | ||
461 | } | 467 | } |
462 | 468 | ||
463 | if (cmd_put && (opcode == TFTP_ACK)) { | 469 | if (cmd_put && (opcode == TFTP_ACK)) { |