aboutsummaryrefslogtreecommitdiffstats
path: root/libtest/libtest_stack_on_signal.c
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-05-14 11:59:34 +0200
committerMattias Andrée <m@maandree.se>2026-05-14 11:59:34 +0200
commita64be7b5310c10edb5adc9b25ea1785f629554fb (patch)
treebb421e63ee3f91effb0d4988d22ace6aae7282cf /libtest/libtest_stack_on_signal.c
parentTests and fixes (diff)
downloadlibrecrypt-a64be7b5310c10edb5adc9b25ea1785f629554fb.tar.gz
librecrypt-a64be7b5310c10edb5adc9b25ea1785f629554fb.tar.bz2
librecrypt-a64be7b5310c10edb5adc9b25ea1785f629554fb.tar.xz
Fix libtest and add file descriptor leak detection
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
-rw-r--r--libtest/libtest_stack_on_signal.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libtest/libtest_stack_on_signal.c b/libtest/libtest_stack_on_signal.c
index 0f92972..f10155a 100644
--- a/libtest/libtest_stack_on_signal.c
+++ b/libtest/libtest_stack_on_signal.c
@@ -62,6 +62,14 @@ libtest_stack_on_signal(int signo, struct sigaction *old_out)
void
libtest_stop_stack_on_signal(int signo, const struct sigaction *old)
{
+ struct sigaction sa;
+
+ if (!old) {
+ memset(&sa, 0, sizeof(sa));
+ sa.sa_handler = SIG_DFL;
+ old = &sa;
+ }
+
assert(!sigaction(signo, old, NULL));
destroy_altstack();
}