Skip to content

Commit d4b3eed

Browse files
Manciukicacmel
authored andcommitted
perf data: Close all files in close_dir()
When using 'perf report' in directory mode, the first file is not closed on exit, causing a memory leak. The problem is caused by the iterating variable never reaching 0. Fixes: 1455206 ("perf data: Add perf_data__(create_dir|close_dir) functions") Signed-off-by: Riccardo Mancini <rickyman7@gmail.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Zhen Lei <thunder.leizhen@huawei.com> Link: http://lore.kernel.org/lkml/20210716141122.858082-1-rickyman7@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 parent e0fa7ab commit d4b3eed

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

tools/perf/util/data.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
static void close_dir(struct perf_data_file *files, int nr)
2222
{
23-
while (--nr >= 1) {
23+
while (--nr >= 0) {
2424
close(files[nr].fd);
2525
zfree(&files[nr].path);
2626
}

0 commit comments

Comments
 (0)