summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTommi Rantala <tt.rantala@gmail.com>2012-08-16 10:25:56 +0300
committerTommi Rantala <tt.rantala@gmail.com>2012-09-28 14:50:03 +0300
commit848ad53a47e8fbef24a6bf1b624d4ad9fb352fb8 (patch)
tree59913cc4b997fead1aa34dadd77a6fd4548c6198
parent7263a97cedae620a233420b35e35173005bfef54 (diff)
downloadlibunwind-848ad53a47e8fbef24a6bf1b624d4ad9fb352fb8.tar.gz
Call snprintf() from signal handler only if required in test-async-sig
snprintf() is not guaranteed to be safely callable from a signal handler, so avoid calling it in the default non-verbose case.
-rw-r--r--tests/test-async-sig.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tests/test-async-sig.c b/tests/test-async-sig.c
index ba37c904..9a0d39e6 100644
--- a/tests/test-async-sig.c
+++ b/tests/test-async-sig.c
@@ -89,7 +89,8 @@ do_backtrace (int may_print, int get_proc_name)
buf[0] = '\0';
if (get_proc_name || (may_print && verbose))
{
- if (unw_get_proc_name (&cursor, name, sizeof (name), &off) == 0)
+ ret = unw_get_proc_name (&cursor, name, sizeof (name), &off);
+ if (ret == 0 && (may_print && verbose))
{
if (off)
snprintf (buf, sizeof (buf), "<%s+0x%lx>", name, (long) off);