diff options
| author | Namhyung Kim <[email protected]> | 2013-09-11 05:09:26 +0000 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <[email protected]> | 2013-10-09 18:58:20 +0000 |
| commit | 89da393c171926d3372f573d752be5ced98038eb (patch) | |
| tree | 341ee9887bc5a739ca4ccf22c599dfd93c03c214 /tools/perf/util/annotate.c | |
| parent | perf sort: Fix a memory leak on srcline (diff) | |
| download | kernel-89da393c171926d3372f573d752be5ced98038eb.tar.gz kernel-89da393c171926d3372f573d752be5ced98038eb.zip | |
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 <[email protected]>
Reviewed-by: Jiri Olsa <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'tools/perf/util/annotate.c')
| -rw-r--r-- | tools/perf/util/annotate.c | 6 |
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: |
