From 72c4f508711705ef2abda473f89eb290c124f211 Mon Sep 17 00:00:00 2001 From: eoineoineoin Date: Fri, 12 Aug 2022 10:33:20 +0100 Subject: [PATCH] fix: Crash when any signal is being thrown (#669) This avoids a crash on POSIX after running a command from the command pallete; on completion, a SIGCHILD will be raised, which was incorrectly calling the error handler and terminating ImHex. Co-authored-by: Eoin Mcloughlin --- main/source/window/window.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/main/source/window/window.cpp b/main/source/window/window.cpp index 972e75c46..c2ec7a381 100644 --- a/main/source/window/window.cpp +++ b/main/source/window/window.cpp @@ -146,10 +146,10 @@ namespace hex { this->m_popupsToOpen.push_back(name); }); - for (u32 signal = 0; signal < NSIG; signal++) { - if (signal != SIGTERM && signal != SIGINT) - std::signal(signal, signalHandler); - } + std::signal(SIGSEGV, signalHandler); + std::signal(SIGILL, signalHandler); + std::signal(SIGABRT, signalHandler); + std::signal(SIGFPE, signalHandler); std::set_terminate([]{ signalHandler(SIGABRT); }); auto imhexLogo = romfs::get("logo.png");