mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 05:55:44 +02:00
perf data: Close all files in close_dir()
[ Upstream commitd4b3eedce1] 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:1455206311("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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
7c91e0ce26
commit
61f2e1e795
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
static void close_dir(struct perf_data_file *files, int nr)
|
static void close_dir(struct perf_data_file *files, int nr)
|
||||||
{
|
{
|
||||||
while (--nr >= 1) {
|
while (--nr >= 0) {
|
||||||
close(files[nr].fd);
|
close(files[nr].fd);
|
||||||
zfree(&files[nr].path);
|
zfree(&files[nr].path);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user