# HG changeset patch # User Matt Johnston # Date 1322948506 -28800 # Node ID d4d0279710b9f827d821e8fa14862272e0897426 # Parent 16af1decaf4cf47ddf0707f882b615bc3c67688f - Initialise sa_mask properly diff -r 16af1decaf4c -r d4d0279710b9 debug.h --- a/debug.h Tue Feb 21 23:00:30 2012 +0800 +++ b/debug.h Sun Dec 04 05:41:46 2011 +0800 @@ -31,7 +31,7 @@ /* Work well for valgrind - don't clear environment, be nicer with signals * etc. Don't use this normally, it might cause problems */ -/* #define DEBUG_VALGRIND */ +#define DEBUG_VALGRIND /* Define this to compile in trace debugging printf()s. * You'll need to run programs with "-v" to turn this on. @@ -39,7 +39,7 @@ * Caution: Don't use this in an unfriendly environment (ie unfirewalled), * since the printing may not sanitise strings etc. This will add a reasonable * amount to your executable size. */ -/*#define DEBUG_TRACE */ +#define DEBUG_TRACE /* All functions writing to the cleartext payload buffer call * CHECKCLEARTOWRITE() before writing. This is only really useful if you're @@ -69,7 +69,7 @@ /* To debug with GDB it is easier to run with no forking of child processes. You will need to pass "-F" as well. */ -/* #define DEBUG_NOFORK */ +#define DEBUG_NOFORK /* For testing as non-root on shadowed systems, include the crypt of a password diff -r 16af1decaf4c -r d4d0279710b9 svr-chansession.c --- a/svr-chansession.c Tue Feb 21 23:00:30 2012 +0800 +++ b/svr-chansession.c Sun Dec 04 05:41:46 2011 +0800 @@ -137,7 +137,7 @@ sa_chld.sa_handler = sesssigchild_handler; sa_chld.sa_flags = SA_NOCLDSTOP; - sa_chld.sa_mask = 0; + sigemptyset(&sa_chld.sa_mask); sigaction(SIGCHLD, &sa_chld, NULL); TRACE(("leave sigchld handler")) } @@ -981,6 +981,7 @@ svr_ses.lastexit.exitpid = -1; /* Nothing has exited yet */ sa_chld.sa_handler = sesssigchild_handler; sa_chld.sa_flags = SA_NOCLDSTOP; + sigemptyset(&sa_chld.sa_mask); if (sigaction(SIGCHLD, &sa_chld, NULL) < 0) { dropbear_exit("signal() error"); } diff -r 16af1decaf4c -r d4d0279710b9 svr-main.c --- a/svr-main.c Tue Feb 21 23:00:30 2012 +0800 +++ b/svr-main.c Sun Dec 04 05:41:46 2011 +0800 @@ -370,7 +370,7 @@ /* catch and reap zombie children */ sa_chld.sa_handler = sigchld_handler; sa_chld.sa_flags = SA_NOCLDSTOP; - sa_chld.sa_mask = 0; + sigemptyset(&sa_chld.sa_mask); if (sigaction(SIGCHLD, &sa_chld, NULL) < 0) { dropbear_exit("signal() error"); }