Fix crash when stacktrace deeper than 10 and use C99 %p for printing pointers.
-- Sonny Karlsson
>From ee52d3403476348cc255dea282571cb2065388cf Mon Sep 17 00:00:00 2001 From: Sonny Karlsson <[email protected]> Date: Fri, 18 Jan 2013 09:24:54 +0100 Subject: [PATCH 2/2] utils: Stacktrace fixup. Fix loop condition in stacktrace. Use %p for printing pointers in stacktrace. Signed-off-by: Sonny Karlsson <[email protected]> --- src/mk_utils.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mk_utils.c b/src/mk_utils.c index 8c46864..7d3915e 100644 --- a/src/mk_utils.c +++ b/src/mk_utils.c @@ -642,16 +642,16 @@ void mk_utils_stacktrace(void) printf("[stack trace]\n"); size = backtrace(arr, 10); - for (i = 1; i < size ; i++) { + for (i = 1; i < size && i < 10; i++) { ret = dladdr(arr[i], &d); if (ret == 0 || !d.dli_sname) { - printf(" #%i 0x%016llx in \?\?\?\?\?\?\?()\n", - (i - 1), (long long unsigned int) arr[i]); + printf(" #%i %p in \?\?\?\?\?\?\?()\n", + (i - 1), arr[i]); continue; } - printf(" #%i 0x%016llx in %s() from %s\n", - (i - 1), (long long unsigned int) arr[i], d.dli_sname, d.dli_fname); + printf(" #%i %p in %s() from %s\n", + (i - 1), arr[i], d.dli_sname, d.dli_fname); } } #endif -- 1.7.10.4
_______________________________________________ Monkey mailing list [email protected] http://lists.monkey-project.com/listinfo/monkey
