From 1ec71c531e118971e70ddd0e9e2ed9def2b3c779 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 18 Dec 2018 20:01:20 -0500 Subject: [PATCH] don't fail pthread_sigmask/sigprocmask on invalid how when set is null the resolution of Austin Group issue #1132 changes the requirement to fail so that it only applies when the set argument (new mask) is non-null. this change was made for consistency with the description, which specified "if set is a null pointer, the value of the argument how is not significant". --- src/thread/pthread_sigmask.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/thread/pthread_sigmask.c b/src/thread/pthread_sigmask.c index 88c333f6..f188782a 100644 --- a/src/thread/pthread_sigmask.c +++ b/src/thread/pthread_sigmask.c @@ -5,7 +5,7 @@ int pthread_sigmask(int how, const sigset_t *restrict set, sigset_t *restrict old) { int ret; - if ((unsigned)how - SIG_BLOCK > 2U) return EINVAL; + if (set && (unsigned)how - SIG_BLOCK > 2U) return EINVAL; ret = -__syscall(SYS_rt_sigprocmask, how, set, old, _NSIG/8); if (!ret && old) { if (sizeof old->__bits[0] == 8) { -- 2.25.1