diff options
author | Randy Dunlap <randy.dunlap@oracle.com> | 2010-04-08 18:57:36 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2010-04-09 10:19:05 -0400 |
commit | b9c2c6fd0103f70cee59eebf503a60e44f992298 (patch) | |
tree | 7008e3f7a968f2a68c0631add9d4e2869262af13 | |
parent | da91094fad7ae5c93056d77300221ad913b4891f (diff) |
kernelshark: stop segfaults
Keep kernelshark from segfaulting when there is no open trace file.
It segfaults in:
Filter->graph events
Filter->graph advanced event
Filter->list CPUs
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
LKML-Reference: <20100408155736.3d12af4f.randy.dunlap@oracle.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | kernel-shark.c | 3 | ||||
-rw-r--r-- | trace-filter.c | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/kernel-shark.c b/kernel-shark.c index 1f1d459..fcb0f54 100644 --- a/kernel-shark.c +++ b/kernel-shark.c | |||
@@ -309,6 +309,9 @@ cpus_clicked (gpointer data) | |||
309 | gboolean all_cpus; | 309 | gboolean all_cpus; |
310 | guint64 *cpu_mask; | 310 | guint64 *cpu_mask; |
311 | 311 | ||
312 | if (!info->handle) | ||
313 | return; | ||
314 | |||
312 | store = TRACE_VIEW_STORE(gtk_tree_view_get_model(trace_tree)); | 315 | store = TRACE_VIEW_STORE(gtk_tree_view_get_model(trace_tree)); |
313 | 316 | ||
314 | all_cpus = trace_view_store_get_all_cpus(store); | 317 | all_cpus = trace_view_store_get_all_cpus(store); |
diff --git a/trace-filter.c b/trace-filter.c index faf1e89..15d59c0 100644 --- a/trace-filter.c +++ b/trace-filter.c | |||
@@ -717,6 +717,9 @@ void trace_adv_filter_dialog(struct tracecmd_input *handle, | |||
717 | GtkWidget *view; | 717 | GtkWidget *view; |
718 | GtkWidget *event_box; | 718 | GtkWidget *event_box; |
719 | 719 | ||
720 | if (!handle) | ||
721 | return; | ||
722 | |||
720 | helper = g_malloc(sizeof(*helper)); | 723 | helper = g_malloc(sizeof(*helper)); |
721 | g_assert(helper); | 724 | g_assert(helper); |
722 | 725 | ||
@@ -1762,6 +1765,9 @@ void trace_filter_event_filter_dialog(struct tracecmd_input *handle, | |||
1762 | gchar **systems; | 1765 | gchar **systems; |
1763 | gint *event_ids; | 1766 | gint *event_ids; |
1764 | 1767 | ||
1768 | if (!handle) | ||
1769 | return; | ||
1770 | |||
1765 | trace_filter_convert_filter_to_names(filter, &systems, &event_ids); | 1771 | trace_filter_convert_filter_to_names(filter, &systems, &event_ids); |
1766 | 1772 | ||
1767 | filter_event_dialog(handle, filter, all_events, systems, | 1773 | filter_event_dialog(handle, filter, all_events, systems, |