diff options
-rw-r--r-- | networking/tftp.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/networking/tftp.c b/networking/tftp.c index da44284dc..a1a79a09c 100644 --- a/networking/tftp.c +++ b/networking/tftp.c @@ -305,7 +305,7 @@ static inline int tftp(const int cmd, const struct hostent *host, } - if (finished) { + if (finished && (opcode == TFTP_ACK)) { break; } @@ -346,11 +346,10 @@ static inline int tftp(const int cmd, const struct hostent *host, case 0: bb_error_msg("timeout"); + timeout--; if (timeout == 0) { len = -1; bb_error_msg("last timeout"); - } else { - timeout--; } break; |