All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] perf tools: Fix memory leak in addr2inlines()
@ 2017-10-31  2:06 Namhyung Kim
  2017-10-31  2:06 ` [PATCH 2/2] perf tools: Show correct function name for srcline of callchains Namhyung Kim
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Namhyung Kim @ 2017-10-31  2:06 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Ingo Molnar, Peter Zijlstra, Jiri Olsa, LKML, kernel-team,
	Jin Yao, Milian Wolff

When libbfd is not used, addr2inlines() executes `addr2line -i` and
process output line by line.  But it resets filename to NULL in the loop
so getline() allocates additional memory everytime instead of realloc.

Cc: Jin Yao <yao.jin@linux.intel.com>
Cc: Milian Wolff <milian.wolff@kdab.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/util/srcline.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c
index c143c3bc1ef8..51dc49c65476 100644
--- a/tools/perf/util/srcline.c
+++ b/tools/perf/util/srcline.c
@@ -456,20 +456,17 @@ static struct inline_node *addr2inlines(const char *dso_name, u64 addr,
 	while (getline(&filename, &len, fp) != -1) {
 		char *srcline;
 
-		if (filename_split(filename, &line_nr) != 1) {
-			free(filename);
+		if (filename_split(filename, &line_nr) != 1)
 			goto out;
-		}
 
 		srcline = srcline_from_fileline(filename, line_nr);
 		if (inline_list__append(sym, srcline, node) != 0)
 			goto out;
-
-		filename = NULL;
 	}
 
 out:
 	pclose(fp);
+	free(filename);
 
 	return node;
 }
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-11-03 14:26 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-31  2:06 [PATCH 1/2] perf tools: Fix memory leak in addr2inlines() Namhyung Kim
2017-10-31  2:06 ` [PATCH 2/2] perf tools: Show correct function name for srcline of callchains Namhyung Kim
     [not found]   ` <2208660.mvSdWdKhUF@milian-kdab2>
2017-11-01 12:05     ` Namhyung Kim
2017-11-01 14:41       ` Arnaldo Carvalho de Melo
2017-11-01 12:14   ` Jiri Olsa
2017-11-03 14:24   ` [tip:perf/core] perf srcline: " tip-bot for Namhyung Kim
2017-11-01 12:13 ` [PATCH 1/2] perf tools: Fix memory leak in addr2inlines() Jiri Olsa
2017-11-01 14:42   ` Arnaldo Carvalho de Melo
2017-11-03 14:23 ` [tip:perf/core] perf srcline: " tip-bot for Namhyung Kim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.