Signed-off-by: Andrew Gregory <[email protected]>
---
 lib/libalpm/util.c      | 2 ++
 src/pacman/sighandler.c | 1 +
 2 files changed, 3 insertions(+)

diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 9ae08745..3fbd757a 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -562,7 +562,9 @@ static void _alpm_reset_signals(void)
                0
        };
        struct sigaction def;
+       def.sa_flags = 0;
        def.sa_handler = SIG_DFL;
+       sigemptyset(&def.sa_mask);
        for(i = signals; *i; i++) {
                sigaction(*i, &def, NULL);
        }
diff --git a/src/pacman/sighandler.c b/src/pacman/sighandler.c
index ff9c6ac4..9794b30b 100644
--- a/src/pacman/sighandler.c
+++ b/src/pacman/sighandler.c
@@ -106,6 +106,7 @@ static void segv_handler(int signum)
        /* restore the default handler */
        _reset_handler(signum);
        /* unblock SIGSEGV */
+       sigemptyset(&segvset);
        sigaddset(&segvset, signum);
        sigprocmask(SIG_UNBLOCK, &segvset, NULL);
        /* re-raise to trigger a core dump */
-- 
2.30.0

Reply via email to