aboutsummaryrefslogtreecommitdiff
path: root/pan
diff options
context:
space:
mode:
authorsubrata_modak <subrata_modak>2008-10-29 07:03:39 +0000
committersubrata_modak <subrata_modak>2008-10-29 07:03:39 +0000
commit929af412082caa0012e42ebe88e38351e6961a5e (patch)
treeb81dae8e2de3daf8ba421170b470aaa54a229c9e /pan
parent4c48a2ab43677167a2126443ca7db52ebb400a84 (diff)
Fix segfault of "pan" on signal action. pan segfaults when receiving various signal registered by sigaction. Valgrind reports various uninitalied bytes of the sigaction struct: Initializing the sigaction struct as empty avoids a segfault of "pan". Signed-off-by: Daniel Gollub <dgollub@suse.de>. Acked-by: Nate Straz <nstraz@redhat.com>.
Diffstat (limited to 'pan')
-rw-r--r--pan/pan.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/pan/pan.c b/pan/pan.c
index 457de0f75..e392c3bc6 100644
--- a/pan/pan.c
+++ b/pan/pan.c
@@ -49,7 +49,7 @@
* - added option to create a command file with all failed tests.
*
*/
-/* $Id: pan.c,v 1.26 2008/05/19 13:37:14 subrata_modak Exp $ */
+/* $Id: pan.c,v 1.27 2008/10/29 07:03:39 subrata_modak Exp $ */
#include <errno.h>
#include <string.h>
@@ -444,7 +444,11 @@ main(int argc, char **argv)
rec_signal = send_signal = 0;
if (run_time != -1) { alarm(run_time); }
+
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = 0;
sa.sa_handler = wait_handler;
+
sigaction(SIGALRM, &sa, NULL);
sigaction(SIGINT, &sa, NULL);
sigaction(SIGTERM, &sa, NULL);