diff options
author | Steven Rostedt (Google) <rostedt@goodmis.org> | 2022-03-23 20:08:05 -0400 |
---|---|---|
committer | Steven Rostedt (Google) <rostedt@goodmis.org> | 2022-03-24 17:52:12 -0400 |
commit | 1524530ad78b4a6d02f1965024cf95321dad43f0 (patch) | |
tree | 67ddd449c456045b45bcd6c6cdaa2946d9216a44 | |
parent | dcdf343662ebfdb78b48b90ea2aa130055220baa (diff) | |
download | trace-cmd-1524530ad78b4a6d02f1965024cf95321dad43f0.tar.gz |
trace-cmd library: Fix memory leak of page_maps
tracecmd_close() does not free up the page_maps for when it reads v6
files. This was found via valgrind.
Link: https://lore.kernel.org/linux-trace-devel/20220324000805.1666464-3-rostedt@goodmis.org
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
-rw-r--r-- | lib/trace-cmd/trace-input.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/trace-cmd/trace-input.c b/lib/trace-cmd/trace-input.c index f74c466a..ce17f95e 100644 --- a/lib/trace-cmd/trace-input.c +++ b/lib/trace-cmd/trace-input.c @@ -4431,6 +4431,7 @@ void tracecmd_close(struct tracecmd_input *handle) struct zchunk_cache *cache; struct file_section *del_sec; struct cpu_data *cpu_data; + struct page_map *page_map, *n; int cpu; int i; @@ -4475,6 +4476,10 @@ void tracecmd_close(struct tracecmd_input *handle) free(cache); } free(cpu_data->compress.chunks); + list_for_each_entry_safe(page_map, n, &cpu_data->page_maps, list) { + list_del(&page_map->list); + free(page_map); + } } } |