about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/writev.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/writev.c')
-rw-r--r--sysdeps/unix/sysv/linux/writev.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/writev.c b/sysdeps/unix/sysv/linux/writev.c
index 0d17d7787e..91576e5915 100644
--- a/sysdeps/unix/sysv/linux/writev.c
+++ b/sysdeps/unix/sysv/linux/writev.c
@@ -24,8 +24,9 @@
 
 #include <sysdep.h>
 #include <sys/syscall.h>
+#include <bp-checks.h>
 
-extern ssize_t __syscall_writev (int, const struct iovec *, int);
+extern ssize_t __syscall_writev (int, const struct iovec *__unbounded, int);
 static ssize_t __atomic_writev_replacement (int, const struct iovec *,
 					    int) internal_function;
 
@@ -47,7 +48,7 @@ __writev (fd, vector, count)
   int errno_saved = errno;
   ssize_t bytes_written;
 
-  bytes_written = INLINE_SYSCALL (writev, 3, fd, vector, count);
+  bytes_written = INLINE_SYSCALL (writev, 3, fd, CHECK_N (vector, count), count);
 
   if (bytes_written >= 0 || errno != EINVAL || count <= UIO_FASTIOV)
     return bytes_written;