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 095dc58..334d03b 100644 --- a/networking/tftp.c +++ b/networking/tftp.c @@ -458,6 +458,12 @@ static inline int tftp(const int cmd, const struct hostent *host, opcode = TFTP_ACK; continue; } + /* in case the last ack disappeared into the ether */ + if ( tmp == (block_nr - 1) ) { + --block_nr; + opcode = TFTP_ACK; + continue; + } } if (cmd_put && (opcode == TFTP_ACK)) { |