Re: [PATCH 2/5] perf tools: cleanup trace-event-info 'tdata' leak
From: Arnaldo Carvalho de Melo
Date: Tue Oct 02 2018 - 11:47:28 EST
Em Tue, Oct 02, 2018 at 10:29:11AM -0400, Sanskriti Sharma escreveu:
> Free tracing_data structure in tracing_data_get() error paths.
>
> Fixes the following coverity complaint:
>
> Error: RESOURCE_LEAK (CWE-772):
> leaked_storage: Variable "tdata" going out of scope leaks the storage
Thanks, applied
- Arnaldo
> Signed-off-by: Sanskriti Sharma <sansharm@xxxxxxxxxx>
> ---
> tools/perf/util/trace-event-info.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/perf/util/trace-event-info.c b/tools/perf/util/trace-event-info.c
> index 7b0ca7c..8ad8e75 100644
> --- a/tools/perf/util/trace-event-info.c
> +++ b/tools/perf/util/trace-event-info.c
> @@ -531,12 +531,14 @@ struct tracing_data *tracing_data_get(struct list_head *pattrs,
> "/tmp/perf-XXXXXX");
> if (!mkstemp(tdata->temp_file)) {
> pr_debug("Can't make temp file");
> + free(tdata);
> return NULL;
> }
>
> temp_fd = open(tdata->temp_file, O_RDWR);
> if (temp_fd < 0) {
> pr_debug("Can't read '%s'", tdata->temp_file);
> + free(tdata);
> return NULL;
> }
>
> --
> 1.8.3.1