aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysdeps/mach/hurd/dl-sysdep.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c
index c9fe5fcecc..668aaaf8b5 100644
--- a/sysdeps/mach/hurd/dl-sysdep.c
+++ b/sysdeps/mach/hurd/dl-sysdep.c
@@ -401,13 +401,17 @@ libc_hidden_weak (__libc_write)
__ssize_t weak_function
__writev (int fd, const struct iovec *iov, int niov)
{
+ if (fd >= _hurd_init_dtablesize)
+ {
+ errno = EBADF;
+ return -1;
+ }
+
int i;
size_t total = 0;
for (i = 0; i < niov; ++i)
total += iov[i].iov_len;
- assert (fd < _hurd_init_dtablesize);
-
if (total != 0)
{
char buf[total], *bufp = buf;