Previously, 'pthread_kill (pthread_self (), -1)' would wrongfully
succeed:

  https://lists.gnu.org/archive/html/guix-devel/2020-10/msg00152.html

Reported-by: Jan Nieuwenhuizen <jann...@gnu.org>
---
 hurd/hurd-raise.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/hurd/hurd-raise.c b/hurd/hurd-raise.c
index d53fd417d2..58b4ffcc83 100644
--- a/hurd/hurd-raise.c
+++ b/hurd/hurd-raise.c
@@ -28,6 +28,9 @@ int
 _hurd_raise_signal (struct hurd_sigstate *ss,
                    int signo, const struct hurd_signal_detail *detail)
 {
+  if (signo < 1 || signo >= _NSIG)
+    return EINVAL;
+
   if (ss == NULL)
     {
       ss = _hurd_self_sigstate ();
-- 
2.28.0


Reply via email to