Commit c410ccc6 for xz
commit c410ccc62511ec95b20639defb10650ef9b75e8c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date: Tue Nov 25 21:05:37 2025 +0200
xz: Check return value of sigaction() before calling raise()
Fixes: Coverity CID 456022
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
}