aboutsummaryrefslogtreecommitdiffstats
path: root/libtest/libtest_print_backtrace.c
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-05-14 15:55:33 +0200
committerMattias Andrée <m@maandree.se>2026-05-14 15:55:33 +0200
commit4e6f25806e3c9fa4753ce959ef990167796acd32 (patch)
treee641de9953f5b58afc1f36efe9c42a0d20254cd2 /libtest/libtest_print_backtrace.c
parentFix libtest and add file descriptor leak detection (diff)
downloadlibrecrypt-4e6f25806e3c9fa4753ce959ef990167796acd32.tar.gz
librecrypt-4e6f25806e3c9fa4753ce959ef990167796acd32.tar.bz2
librecrypt-4e6f25806e3c9fa4753ce959ef990167796acd32.tar.xz
Tests and fixes
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'libtest/libtest_print_backtrace.c')
-rw-r--r--libtest/libtest_print_backtrace.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libtest/libtest_print_backtrace.c b/libtest/libtest_print_backtrace.c
index e595131..7bc465c 100644
--- a/libtest/libtest_print_backtrace.c
+++ b/libtest/libtest_print_backtrace.c
@@ -19,6 +19,7 @@ libtest_print_backtrace(FILE *fp, const char *prefix, const char *indent, size_t
unw_context_t context;
Dwarf_Addr ip;
size_t i;
+ unsigned int old_alarm;
#if defined(HAVE_LINE_INFO)
Dwfl_Callbacks callbacks;
char *debuginfo_path = NULL;
@@ -32,6 +33,9 @@ libtest_print_backtrace(FILE *fp, const char *prefix, const char *indent, size_t
if (recursion_guard)
return;
+
+ old_alarm = alarm(1u);
+
saved_errno = errno;
recursion_guard = 1;
libtest_malloc_internal_usage++;
@@ -121,6 +125,8 @@ out:
libtest_malloc_internal_usage--;
recursion_guard = 0;
errno = saved_errno;
+
+ alarm(old_alarm);
}