From 532998ed1e4e485c3a5d464ba5ede37b821ac3fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Fri, 29 Mar 2019 23:17:17 +0100 Subject: [PATCH] kernel/fs/fd: fcntl(F_DUPFD) should return EINVAL for invalid fds. fix a failure for test-fcntl.c of gltests. Change-Id: Ied8effdee2ddd9868bf039dbf74a3057a2541cac Reviewed-on: https://review.haiku-os.org/c/1331 Reviewed-by: Adrien Destugues --- src/system/kernel/fs/fd.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/system/kernel/fs/fd.cpp b/src/system/kernel/fs/fd.cpp index 60914dc839..45de3762ad 100644 --- a/src/system/kernel/fs/fd.cpp +++ b/src/system/kernel/fs/fd.cpp @@ -159,6 +159,9 @@ new_fd_etc(struct io_context* context, struct file_descriptor* descriptor, int fd = -1; uint32 i; + if (firstIndex < 0 || (uint32)firstIndex >= context->table_size) + return B_BAD_VALUE; + mutex_lock(&context->io_mutex); for (i = firstIndex; i < context->table_size; i++) {