From b4c40ac240c224f7a56be8486dcb6c34ec45b79b Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Fri, 19 Dec 2008 08:47:28 -0200 Subject: Bug#41612: resolve_stack_dump does not decode 5.1 stack trace resolve_stack_dump is not able to decode a stack trace produced by glibc's backtrace() functions. The problem is that the stack trace addresses are printed between brackets and the utility is not able to ignore the brackets. The solution is to modify resolve_stack_dump so it can recognize stack trace addresses surrounded by brackets. e.g. [0xdeadbeef]. extra/resolve_stack_dump.c: Skip to after a bracket if one is present in the input. --- extra/resolve_stack_dump.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'extra') diff --git a/extra/resolve_stack_dump.c b/extra/resolve_stack_dump.c index 5606c17ecf3..447d63890bd 100644 --- a/extra/resolve_stack_dump.c +++ b/extra/resolve_stack_dump.c @@ -290,7 +290,8 @@ static void do_resolve() char buf[1024], *p; while (fgets(buf, sizeof(buf), fp_dump)) { - p = buf; + /* skip bracket */ + p= (p= strchr(buf, '[')) ? p+1 : buf; /* skip space */ while (my_isspace(&my_charset_latin1,*p)) ++p; -- cgit v1.2.1