From 7689abaedcfb6009b374012fe345db47379c4f5e Mon Sep 17 00:00:00 2001 From: Adrian Chadd Date: Tue, 26 Nov 2013 08:32:37 +0000 Subject: [PATCH] Fix the compat32 sendfile() to be in line with my recent changes. Reminded by: kib --- sys/compat/freebsd32/freebsd32_misc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index deb03f3ef586..9a5dd4365c2d 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -1652,6 +1652,7 @@ freebsd32_do_sendfile(struct thread *td, cap_rights_t rights; off_t offset; int error; + off_t sbytes; offset = PAIR32TO64(off_t, uap->offset); if (offset < 0) @@ -1692,8 +1693,10 @@ freebsd32_do_sendfile(struct thread *td, } error = fo_sendfile(fp, uap->s, hdr_uio, trl_uio, offset, - uap->nbytes, uap->sbytes, uap->flags, compat ? SFK_COMPAT : 0, td); + uap->nbytes, &sbytes, uap->flags, compat ? SFK_COMPAT : 0, td); fdrop(fp, td); + if (uap->sbytes != NULL) + copyout(&sbytes, uap->sbytes, sizeof(off_t)); out: if (hdr_uio)