From e232d8a043229987f1ee56acd1d62640f9644e39 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Tue, 19 May 1998 15:30:44 +0200
Subject: [PATCH] Added some paranoia in signal_handler().

Rev: src/signal_handler.c:1.17
---
 src/signal_handler.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/signal_handler.c b/src/signal_handler.c
index c2332d904c..e006be2ce0 100644
--- a/src/signal_handler.c
+++ b/src/signal_handler.c
@@ -310,6 +310,13 @@ static RETSIGTYPE receive_signal(int signum)
 {
   int tmp;
 
+  if ((signum < 0) || (signum >= MAX_SIGNALS)) {
+    // Some OSs (Solaris 2.6) send a bad signum sometimes.
+    // SIGCHLD is the safest signal to substitute.
+    //	/grubba 1998-05-19
+    signum = SIGCHLD;
+  }
+
   tmp=firstsig+1;
   if(tmp == SIGNAL_BUFFER) tmp=0;
   if(tmp != lastsig)
-- 
GitLab