1
0
mirror of https://https.git.savannah.gnu.org/git/gnulib.git synced 2026-04-28 06:33:36 +00:00

sigdelay, posix-spawn-internal: Ignore out-of-range signal numbers.

* lib/sigdelay.c (sigdelay): Do nothing when sigismember() returns -1.
* lib/spawni.c (__spawni): Likewise.
This commit is contained in:
Bruno Haible
2026-04-16 14:14:38 +02:00
parent 2b070755bc
commit 9bb54c2fe5
3 changed files with 8 additions and 2 deletions

View File

@@ -1,3 +1,9 @@
2026-04-16 Bruno Haible <bruno@clisp.org>
sigdelay, posix-spawn-internal: Ignore out-of-range signal numbers.
* lib/sigdelay.c (sigdelay): Do nothing when sigismember() returns -1.
* lib/spawni.c (__spawni): Likewise.
2026-04-16 Bruno Haible <bruno@clisp.org>
sigprocmask: Fix sigismember function.

View File

@@ -76,7 +76,7 @@ sigdelay (int how, const sigset_t *restrict set, sigset_t *restrict old_set)
sigaddset (old_set, sig);
for (int sig = 1; sig < countof (states); sig++)
if (sigismember (set, sig))
if (sigismember (set, sig) > 0)
{
switch (how)
{

View File

@@ -956,7 +956,7 @@ __spawni (pid_t *pid, const char *file,
sa.sa_handler = SIG_DFL;
for (int sig = 1; sig < NSIG; ++sig)
if (sigismember (&attrp->_sd, sig) != 0
if (sigismember (&attrp->_sd, sig) > 0
&& sigaction (sig, &sa, NULL) != 0)
_exit (SPAWN_ERROR);