diff options
Diffstat (limited to 'busybox/networking/tftp.c')
-rw-r--r-- | busybox/networking/tftp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/busybox/networking/tftp.c b/busybox/networking/tftp.c index 3c947318b..47fc3879e 100644 --- a/busybox/networking/tftp.c +++ b/busybox/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)) { |