Date: Sun, 18 Jul 2010 22:15:32 -0700 From: Garrett Cooper <yanegomi@gmail.com> To: Kostik Belousov <kostikbel@gmail.com> Cc: hackers@freebsd.org Subject: [PATCH] sigpause(2) doesn't check signal validity before setting mask Message-ID: <AANLkTim-ztL4IenTmDCMvfIiceCM3ExrP7JpjTSCgaqY@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
The following patch fixes the case where the value for sigmask specified is invalid (to match the requirements stated in the manpage and POSIX), and also converts the parameter name -- mask -- to match the manpage. Thanks, -Garrett Index: compat-43/sigcompat.c =================================================================== --- compat-43/sigcompat.c (revision 210226) +++ compat-43/sigcompat.c (working copy) @@ -99,12 +99,16 @@ } int -sigpause(int mask) +sigpause(int sigmask) { sigset_t set; + if (!_SIG_VALID(sigmask)) { + errno = EINVAL; + return (-1); + } sigemptyset(&set); - set.__bits[0] = mask; + set.__bits[0] = sigmask; return (_sigsuspend(&set)); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTim-ztL4IenTmDCMvfIiceCM3ExrP7JpjTSCgaqY>