fix: avoid signal-unsafe fprintf in stack overflow handler

This commit is contained in:
Sebastian Ullrich 2022-04-29 15:54:37 +02:00
parent 20e16f1c75
commit 78bf398830

View file

@ -73,7 +73,8 @@ bool is_within_stack_guard(void * addr) {
extern "C" LEAN_EXPORT void segv_handler(int signum, siginfo_t * info, void *) {
if (is_within_stack_guard(info->si_addr)) {
fprintf(stderr, "\nStack overflow detected. Aborting.\n");
char const msg[] = "\nStack overflow detected. Aborting.\n";
write(STDERR_FILENO, msg, sizeof(msg) - 1);
abort();
} else {
// reset signal handler and return; see comments in Rust code