summaryrefslogtreecommitdiffstats
path: root/libexec/ftpd/ftpd.c
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/ftpd/ftpd.c')
-rw-r--r--libexec/ftpd/ftpd.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/libexec/ftpd/ftpd.c b/libexec/ftpd/ftpd.c
index 90373c6..f2aef51 100644
--- a/libexec/ftpd/ftpd.c
+++ b/libexec/ftpd/ftpd.c
@@ -2038,6 +2038,7 @@ send_data(FILE *instr, FILE *outstr, off_t blksize, off_t filesize, int isreg)
if (isreg) {
+ char *msg = "Transfer complete.";
off_t offset;
int err;
@@ -2062,10 +2063,20 @@ send_data(FILE *instr, FILE *outstr, off_t blksize, off_t filesize, int isreg)
goto data_err;
}
+
+ /*
+ * We hit the EOF prematurely.
+ * Perhaps the file was externally truncated.
+ */
+ if (cnt == 0) {
+ msg = "Transfer finished due to "
+ "premature end of file.";
+ break;
+ }
}
transflag = 0;
- reply(226, "Transfer complete.");
+ reply(226, msg);
return (0);
}
OpenPOWER on IntegriCloud