summaryrefslogtreecommitdiff
path: root/tests/pselect.c
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2024-03-03 19:11:58 +0100
committerJörg Frings-Fürst <debian@jff.email>2024-03-03 19:11:58 +0100
commit9853b168f68cbb09b75a817343cedde2aca4c76c (patch)
treedb628840acea83dbccaf5676b89579a80e02ef51 /tests/pselect.c
parentd83e85a2e6064c36f6ad3c848e39d8b8c101c4f7 (diff)
parent7cf710f6587e71a193a55d84dd6d8ae1a8a69ce0 (diff)
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'tests/pselect.c')
-rw-r--r--tests/pselect.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/tests/pselect.c b/tests/pselect.c
index a1eca0c6..54732e5c 100644
--- a/tests/pselect.c
+++ b/tests/pselect.c
@@ -1,6 +1,6 @@
/* pselect - synchronous I/O multiplexing
- Copyright 2011-2022 Free Software Foundation, Inc.
+ Copyright 2011-2024 Free Software Foundation, Inc.
This file is part of gnulib.
@@ -45,6 +45,12 @@ pselect (int nfds, fd_set *restrict rfds,
sigset_t origmask;
struct timeval tv, *tvp;
+ if (nfds < 0 || nfds > FD_SETSIZE)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+
if (timeout)
{
if (! (0 <= timeout->tv_nsec && timeout->tv_nsec < 1000000000))
@@ -53,8 +59,10 @@ pselect (int nfds, fd_set *restrict rfds,
return -1;
}
- tv.tv_sec = timeout->tv_sec;
- tv.tv_usec = (timeout->tv_nsec + 999) / 1000;
+ tv = (struct timeval) {
+ .tv_sec = timeout->tv_sec,
+ .tv_usec = (timeout->tv_nsec + 999) / 1000
+ };
tvp = &tv;
}
else