Bugzilla – Bug 464
sudo compiled without io-logging enabled sends multiple signals to child
Last modified: 2011-03-03 09:51:59 MST
If you compile sudo 1.7.4p6 without --with_iologdir, then sudo will deliver SIGINT (and possibly other signals) multiple times to the child process. I suspect this is because, while the recvsig array is cleared in sudo_execve for the _PATH_SUDO_IO_LOGDIR case, it is never cleared when _PATH_SUDO_IO_LOGDIR is not defined.
I've verified that simply clearing recvsig[n] immediately after sending the signal to the child solves the problem.
Sudo 1.7.5 handles signal delivery differently and does not have this problem. If you'd like, you can the current beta, http://www.sudo.ws/sudo/dist/beta/sudo-1.7.5b3.tar.gz
Fixed in sudo 1.7.5 and 1.8.0.