summaryrefslogtreecommitdiff
path: root/tools/perf
diff options
context:
space:
mode:
authorSamuel Liao <samuelliao@tencent.com>2012-06-05 05:14:59 (GMT)
committerArnaldo Carvalho de Melo <acme@redhat.com>2012-06-19 17:30:26 (GMT)
commitc0a58fb2bdf033df433cad9009c7dac4c6b872b0 (patch)
treed4c65704aae722151a0d85cca74d1e30577c99e4 /tools/perf
parentdd4f52232c60bcb41205a67d2df2ac0ecdfe3683 (diff)
downloadlinux-c0a58fb2bdf033df433cad9009c7dac4c6b872b0.tar.xz
perf annotate: Check null of sym pointer before using it
Sym may be NULL, and that will cause perf to crash. Signed-off-by: Shan Wei <davidshan@tencent.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Namhyung Kim <namhyung.kim@lge.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/4FCD95D3.90209@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/ui/browsers/annotate.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c
index 34b1c46..67a2703 100644
--- a/tools/perf/ui/browsers/annotate.c
+++ b/tools/perf/ui/browsers/annotate.c
@@ -814,7 +814,7 @@ int symbol__tui_annotate(struct symbol *sym, struct map *map, int evidx,
{
struct disasm_line *pos, *n;
struct annotation *notes;
- const size_t size = symbol__size(sym);
+ size_t size;
struct map_symbol ms = {
.map = map,
.sym = sym,
@@ -834,6 +834,8 @@ int symbol__tui_annotate(struct symbol *sym, struct map *map, int evidx,
if (sym == NULL)
return -1;
+ size = symbol__size(sym);
+
if (map->dso->annotate_warned)
return -1;