From ba8f13a60639f47b2023e9af3493122600661907 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Sandmann?= Date: Sat, 29 Oct 2005 18:50:11 +0000 Subject: [PATCH] Fix crash pointed reported by Rudi Chiarito. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sat Oct 29 14:43:00 2005 Søren Sandmann Fix crash pointed reported by Rudi Chiarito. * stackstash.c (stack_stash_add_trace): Just return if n_addrs is 0. * sysprof.c (on_read): Only trace if n_addresses != 0. --- ChangeLog | 9 +++++++++ stackstash.c | 3 +++ sysprof.c | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8a10ccd0..eab45c45 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Sat Oct 29 14:43:00 2005 Søren Sandmann + + Fix crash pointed reported by Rudi Chiarito. + + * stackstash.c (stack_stash_add_trace): Just return if + n_addrs is 0. + + * sysprof.c (on_read): Only trace if n_addresses != 0. + Sat Oct 29 14:29:55 2005 Søren Sandmann * README, TODO: updates diff --git a/stackstash.c b/stackstash.c index c7ecb1d5..9f66f158 100644 --- a/stackstash.c +++ b/stackstash.c @@ -139,6 +139,9 @@ stack_stash_add_trace (StackStash *stash, StackNode *leaf; int i; + if (!n_addrs) + return; + trace = NULL; for (i = 0; i < n_addrs; ++i) trace = g_list_prepend (trace, GINT_TO_POINTER (addrs[i])); diff --git a/sysprof.c b/sysprof.c index 680c9a8c..67507e7d 100644 --- a/sysprof.c +++ b/sysprof.c @@ -300,7 +300,7 @@ on_read (gpointer data) g_print ("-=-\n"); #endif - if (rd > 0 && !app->generating_profile) + if (rd > 0 && !app->generating_profile && trace.n_addresses) { Process *process = process_get_from_pid (trace.pid); int i; @@ -308,7 +308,7 @@ on_read (gpointer data) /* if (*trace.filename) */ /* filename = trace.filename; */ - + for (i = 0; i < trace.n_addresses; ++i) { process_ensure_map (process, trace.pid,