2023-04-21 03:11:51

by Yang Jihong

[permalink] [raw]
Subject: [PATCH] perf tracepoint: Fix memory leak in is_valid_tracepoint()

When is_valid_tracepoint() returns 1, need to call put_events_file() to
free `dir_path`.

Fixes: 25a7d914274d ("perf parse-events: Use get/put_events_file()")
Signed-off-by: Yang Jihong <[email protected]>
---
tools/perf/util/tracepoint.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/perf/util/tracepoint.c b/tools/perf/util/tracepoint.c
index 89ef56c43311..92dd8b455b90 100644
--- a/tools/perf/util/tracepoint.c
+++ b/tools/perf/util/tracepoint.c
@@ -50,6 +50,7 @@ int is_valid_tracepoint(const char *event_string)
sys_dirent->d_name, evt_dirent->d_name);
if (!strcmp(evt_path, event_string)) {
closedir(evt_dir);
+ put_events_file(dir_path);
closedir(sys_dir);
return 1;
}
--
2.30.GIT


2023-04-29 02:00:55

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf tracepoint: Fix memory leak in is_valid_tracepoint()

Em Fri, Apr 21, 2023 at 02:59:53AM +0000, Yang Jihong escreveu:
> When is_valid_tracepoint() returns 1, need to call put_events_file() to
> free `dir_path`.
>
> Fixes: 25a7d914274d ("perf parse-events: Use get/put_events_file()")
> Signed-off-by: Yang Jihong <[email protected]>

Thanks, applied.

- Arnaldo

> ---
> tools/perf/util/tracepoint.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/perf/util/tracepoint.c b/tools/perf/util/tracepoint.c
> index 89ef56c43311..92dd8b455b90 100644
> --- a/tools/perf/util/tracepoint.c
> +++ b/tools/perf/util/tracepoint.c
> @@ -50,6 +50,7 @@ int is_valid_tracepoint(const char *event_string)
> sys_dirent->d_name, evt_dirent->d_name);
> if (!strcmp(evt_path, event_string)) {
> closedir(evt_dir);
> + put_events_file(dir_path);
> closedir(sys_dir);
> return 1;
> }
> --
> 2.30.GIT
>

--

- Arnaldo