From 343fb004d9af1e68416da7c3d836715f684792b0 Mon Sep 17 00:00:00 2001 From: Guo Ren Date: Mon, 16 Apr 2018 15:35:20 +0800 Subject: common/sendfile.c: bugfix can't support offset is NULL In ltp testcase sendfile08.c, it use offset=NULL to test the api. PATCH V2: fixup the stupid missing check in the end. Sorry for lose test. See "man sendfile" and it really support offset is NULL. Signed-off-by: Guo Ren --- libc/sysdeps/linux/common/sendfile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libc/sysdeps/linux') diff --git a/libc/sysdeps/linux/common/sendfile.c b/libc/sysdeps/linux/common/sendfile.c index af05ba4e7..f0372c185 100644 --- a/libc/sysdeps/linux/common/sendfile.c +++ b/libc/sysdeps/linux/common/sendfile.c @@ -40,7 +40,7 @@ ssize_t sendfile(int out_fd, int in_fd, __off_t *offset, size_t count) return -1; } - if (offset == NULL || (int)offset < 0) { + if ((int)offset < 0) { __set_errno(EFAULT); return -1; } @@ -54,7 +54,7 @@ ssize_t sendfile(int out_fd, int in_fd, __off_t *offset, size_t count) res = INLINE_SYSCALL(sendfile64, 4, out_fd, in_fd, off, count); - if (res >= 0) + if (res >= 0 && offset != NULL) *offset = off64; return res; -- cgit v1.2.3