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

Reply via email to