[PATCH] perf top: fix crash on annotate request

From: David Ahern
Date: Wed Oct 19 2011 - 14:23:31 EST


Hitting an annotate case where src is not set and
perf-top crashes.

Signed-off-by: David Ahern <dsahern@xxxxxxxxx>
---
tools/perf/util/annotate.c | 3 +++
tools/perf/util/ui/browsers/annotate.c | 2 ++
2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index bc8f477..26652b1 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -205,6 +205,9 @@ static int symbol__parse_objdump_line(struct symbol *sym, struct map *map,
size_t line_len;
s64 line_ip, offset = -1;

+ if (!notes->src)
+ return -1;
+
if (getline(&line, &line_len, file) < 0)
return -1;

diff --git a/tools/perf/util/ui/browsers/annotate.c b/tools/perf/util/ui/browsers/annotate.c
index a2c351c..5a67ead 100644
--- a/tools/perf/util/ui/browsers/annotate.c
+++ b/tools/perf/util/ui/browsers/annotate.c
@@ -410,6 +410,8 @@ int symbol__tui_annotate(struct symbol *sym, struct map *map, int evidx,
ui_helpline__push("Press <- or ESC to exit");

notes = symbol__annotation(sym);
+ if (!notes->src)
+ return -1;

list_for_each_entry(pos, &notes->src->source, node) {
struct objdump_line_rb_node *rbpos;
--
1.7.6.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/