summaryrefslogtreecommitdiffstats
path: root/usr.bin/tftp
diff options
context:
space:
mode:
authorgavin <gavin@FreeBSD.org>2010-01-03 13:48:58 +0000
committergavin <gavin@FreeBSD.org>2010-01-03 13:48:58 +0000
commit8f4db7ad0cb7de5baa72534d6e7abfc206832d88 (patch)
tree0a8c6966142320970bd4f550046a55b2f0c6f472 /usr.bin/tftp
parent6568fbfc9d3b30aaa0420f6ee247e516da214618 (diff)
downloadFreeBSD-src-8f4db7ad0cb7de5baa72534d6e7abfc206832d88.zip
FreeBSD-src-8f4db7ad0cb7de5baa72534d6e7abfc206832d88.tar.gz
Fix return code in the case of successful file transfer, broken in
tftp.c 1.13 PR: bin/117452 Submitted by: Spencer Minear minear securecomputing.com Approved by: ed (mentor) MFC after: 2 weeks
Diffstat (limited to 'usr.bin/tftp')
-rw-r--r--usr.bin/tftp/tftp.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.bin/tftp/tftp.c b/usr.bin/tftp/tftp.c
index 2f032df..4300902 100644
--- a/usr.bin/tftp/tftp.c
+++ b/usr.bin/tftp/tftp.c
@@ -140,6 +140,7 @@ send_data:
(struct sockaddr *)&peer, peer.ss_len);
if (n != size + 4) {
warn("sendto");
+ txrx_error = 1;
goto abort;
}
read_ahead(file, convert);
@@ -153,6 +154,7 @@ send_data:
alarm(0);
if (n < 0) {
warn("recvfrom");
+ txrx_error = 1;
goto abort;
}
if (!serv.ss_family)
@@ -160,6 +162,7 @@ send_data:
else if (!cmpport((struct sockaddr *)&serv,
(struct sockaddr *)&from)) {
warn("server port mismatch");
+ txrx_error = 1;
goto abort;
}
peer = from;
@@ -202,7 +205,6 @@ abort:
stopclock();
if (amount > 0)
printstats("Sent", amount);
- txrx_error = 1;
}
/*
@@ -255,6 +257,7 @@ send_ack:
peer.ss_len) != size) {
alarm(0);
warn("sendto");
+ txrx_error = 1;
goto abort;
}
write_behind(file, convert);
@@ -268,6 +271,7 @@ send_ack:
alarm(0);
if (n < 0) {
warn("recvfrom");
+ txrx_error = 1;
goto abort;
}
if (!serv.ss_family)
@@ -275,6 +279,7 @@ send_ack:
else if (!cmpport((struct sockaddr *)&serv,
(struct sockaddr *)&from)) {
warn("server port mismatch");
+ txrx_error = 1;
goto abort;
}
peer = from;
@@ -325,7 +330,6 @@ abort: /* ok to ack, since user */
stopclock();
if (amount > 0)
printstats("Received", amount);
- txrx_error = 1;
}
static int
OpenPOWER on IntegriCloud