diff --git a/debug.h b/debug.h index b20e68504882a87ce219fdefa463705ae040f263..d54bc271ad07a80c7e8312aa62acac4944adcdac 100644 --- a/debug.h +++ b/debug.h @@ -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 --git a/svr-chansession.c b/svr-chansession.c index 4d6d4fe0b3288a0a7b04b678680b4a050bf9fccf..9fd49c112074bf0dac54f3bd69e221470d653f2b 100644 --- a/svr-chansession.c +++ b/svr-chansession.c @@ -137,7 +137,7 @@ static void sesssigchild_handler(int UNUSED(dummy)) { 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 @@ void svr_chansessinitialise() { 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 --git a/svr-main.c b/svr-main.c index ff3691fef2dcf6e402a2d1a0c86a6510eebfd75d..b7258e5fb0ecd4c4e4ccae1a4a9088f2495696f8 100644 --- a/svr-main.c +++ b/svr-main.c @@ -370,7 +370,7 @@ static void commonsetup() { /* 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"); }