aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--networking/tftp.c6
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,
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)) {