summaryrefslogtreecommitdiff
path: root/tools/perf/util/annotate.c
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung.kim@lge.com>2013-09-11 09:09:26 +0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2013-10-09 22:58:20 +0400
commit89da393c171926d3372f573d752be5ced98038eb (patch)
tree341ee9887bc5a739ca4ccf22c599dfd93c03c214 /tools/perf/util/annotate.c
parent963ba5fd5d04f36d6a5c9a94562484a4f270c1de (diff)
downloadlinux-89da393c171926d3372f573d752be5ced98038eb.tar.xz
perf annotate: Reuse path from the result of addr2line
In the symbol__get_source_line(), path and src_line->path will have same value, but they were allocated separately, and leaks one. Just share path to src_line->path. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Reviewed-by: Jiri Olsa <jolsa@redhat.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1378876173-13363-3-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/annotate.c')
-rw-r--r--tools/perf/util/annotate.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 7eae5488ecea..c6fd1870f278 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1143,11 +1143,7 @@ static int symbol__get_source_line(struct symbol *sym, struct map *map,
if (getline(&path, &line_len, fp) < 0 || !line_len)
goto next_close;
- src_line->path = malloc(sizeof(char) * line_len + 1);
- if (!src_line->path)
- goto next_close;
-
- strcpy(src_line->path, path);
+ src_line->path = path;
insert_source_line(&tmp_root, src_line);
next_close: