From c410ccc62511ec95b20639defb10650ef9b75e8c Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Tue, 25 Nov 2025 21:05:37 +0200 Subject: [PATCH] xz: Check return value of sigaction() before calling raise() Fixes: Coverity CID 456022 --- src/xz/signals.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/xz/signals.c b/src/xz/signals.c index 23d61ef4..64643695 100644 --- a/src/xz/signals.c +++ b/src/xz/signals.c @@ -187,8 +187,14 @@ signals_exit(void) sa.sa_handler = SIG_DFL; sigfillset(&sa.sa_mask); sa.sa_flags = 0; - sigaction(sig, &sa, NULL); - raise(sig); + + // This shouldn't fail, but check it anyway. + if (sigaction(sig, &sa, NULL) == 0) + raise(sig); + + // We shouldn't get here, but just in case we do, + // make main() exit with E_ERROR. + set_exit_status(E_ERROR); #endif }