diff options
| author | Jakob Kaivo <jkk@ung.org> | 2024-01-31 15:54:15 -0500 |
|---|---|---|
| committer | Jakob Kaivo <jkk@ung.org> | 2024-01-31 15:54:15 -0500 |
| commit | 1dcdfdc0141e94b57b80526ca917b1228fe53f53 (patch) | |
| tree | a1567c7dfe39b9514ff946a844be0aaafd4453af /src/signal/__signal_handler.c | |
| parent | c030ac43d9cc5c2accdda8b47e07d2d7b0ba8dc4 (diff) | |
fix up signal-related UB reporting
Diffstat (limited to 'src/signal/__signal_handler.c')
| -rw-r--r-- | src/signal/__signal_handler.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/signal/__signal_handler.c b/src/signal/__signal_handler.c index ca529999..9cd9eda7 100644 --- a/src/signal/__signal_handler.c +++ b/src/signal/__signal_handler.c @@ -8,7 +8,13 @@ void __signal_handler(int sig) if (___signal.handlers[sig] != NULL) { ___signal.handlers[sig](sig); } - /* TODO: if signal is fatal, trigger UB */ + + /* TODO: signal number to name */ + if (sig == SIGFPE || sig == SIGILL || sig == SIGSEGV) { + ___signal.current = 0; + __undefined("Signal handler for signal %d returned", sig); + } + ___signal.current = 0; } |
