Browse Source

Log dangerous registration of signal handlers

pull/2/head
Rémi Denis-Courmont 16 years ago
parent
commit
2eb05547c9
  1. 26
      bin/override.c

26
bin/override.c

@ -147,4 +147,30 @@ int rand (void)
}
/** Signals **/
#include <signal.h>
void (*signal (int signum, void (*handler) (int))) (int)
{
if (override)
{
const char *msg = "Error";
if ((signum == SIGPIPE && handler == SIG_IGN)
|| (signum != SIGPIPE && handler == SIG_DFL))
/* Same settings we already use */
msg = "Warning";
LOG(msg, "%d, %p", signum, handler);
}
return CALL(signal, signum, handler);
}
int sigaction (int signum, const struct sigaction *act, struct sigaction *old)
{
if (act != NULL)
LOG("Error", "%d, %p, %p", signum, act, old);
return CALL(sigaction, signum, act, old);
}
#endif /* __ELF__ */

Loading…
Cancel
Save