diff --git a/libexec/ftpd/ftpd.c b/libexec/ftpd/ftpd.c index 2ae2d6d2623..769e2201541 100644 --- a/libexec/ftpd/ftpd.c +++ b/libexec/ftpd/ftpd.c @@ -1832,9 +1832,13 @@ send_data(FILE *instr, FILE *outstr, off_t blksize, off_t filesize, int isreg) while (err != -1 && filesize > 0) { err = sendfile(filefd, netfd, offset, 0, (struct sf_hdtr *) NULL, &cnt, 0); + /* + * Calculate byte_count before OOB processing. + * It can be used in myoob() later. + */ + byte_count += cnt; if (recvurg) goto got_oob; - byte_count += cnt; offset += cnt; filesize -= cnt;