From 9e237b93a53bae03c31e0332b6a98f304157f20c Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 22 Nov 2020 11:32:26 +0100 Subject: libshouldbeinlibc: Fix printing truncated backtrace * libshouldbeinlibc/assert-backtrace.c (__assert_fail_base_backtrace): If returned backtrace is smaller than skip we cannot print anything. --- libshouldbeinlibc/assert-backtrace.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'libshouldbeinlibc/assert-backtrace.c') diff --git a/libshouldbeinlibc/assert-backtrace.c b/libshouldbeinlibc/assert-backtrace.c index ca23c8d2..66ce47c1 100644 --- a/libshouldbeinlibc/assert-backtrace.c +++ b/libshouldbeinlibc/assert-backtrace.c @@ -47,8 +47,11 @@ __assert_fail_base_backtrace (const char *fmt, fprintf (stderr, fmt, program_invocation_name, file, line, function, assertion); - backtrace_symbols_fd (&buffer[skip], nptrs - skip, STDERR_FILENO); - fflush (stderr); + if (nptrs > skip) + { + backtrace_symbols_fd (&buffer[skip], nptrs - skip, STDERR_FILENO); + fflush (stderr); + } /* Die. */ abort (); -- cgit v1.2.3