From f97b9b0249514d4e504a2eb6b31f38dfbdb2ea2a Mon Sep 17 00:00:00 2001 From: Bojun Seo Date: Fri, 17 Mar 2023 18:14:09 +0900 Subject: [PATCH] stacktrace: Remove dangerous value access dlip.dli_fname could be NULL. So add null check before use this value. Signed-off-by: Bojun Seo --- src/stacktrace.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/stacktrace.cc b/src/stacktrace.cc index afbc7d4..b862226 100644 --- a/src/stacktrace.cc +++ b/src/stacktrace.cc @@ -121,11 +121,14 @@ static void print_backtrace_symbol(int count, void *addr) } offset = static_cast(static_cast(addr) - static_cast(dlip.dli_saddr)); - pr_out("%s +%#x ", symbol, offset); + pr_out("%s +%#x", symbol, offset); free(symbol); } - offset = (int)((char *)addr - (char *)(dlip.dli_fbase)); - pr_out("(%s +%#x)\n", dlip.dli_fname, offset); + if (dlip.dli_fname) { + offset = (int)((char *)addr - (char *)(dlip.dli_fbase)); + pr_out(" (%s +%#x)", dlip.dli_fname, offset); + } + pr_out("\n"); } static void print_backtrace_symbol_flamegraph(void *addr, const char *semicolon)