From: Rich Felker Date: Wed, 19 Dec 2018 01:01:20 +0000 (-0500) Subject: don't fail pthread_sigmask/sigprocmask on invalid how when set is null X-Git-Tag: v1.1.21~7 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1ec71c531e118971e70ddd0e9e2ed9def2b3c779;p=oweals%2Fmusl.git 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". --- 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) {