| From foo@baz Sat Nov 10 11:24:34 PST 2018 |
| From: Sanskriti Sharma <sansharm@redhat.com> |
| Date: Tue, 2 Oct 2018 10:29:11 -0400 |
| Subject: perf tools: Cleanup trace-event-info 'tdata' leak |
| |
| From: Sanskriti Sharma <sansharm@redhat.com> |
| |
| [ Upstream commit faedbf3fd19f2511a39397f76359e4cc6ee93072 ] |
| |
| 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 |
| |
| Signed-off-by: Sanskriti Sharma <sansharm@redhat.com> |
| Reviewed-by: Jiri Olsa <jolsa@kernel.org> |
| Cc: Joe Lawrence <joe.lawrence@redhat.com> |
| Link: http://lkml.kernel.org/r/1538490554-8161-3-git-send-email-sansharm@redhat.com |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| tools/perf/util/trace-event-info.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/tools/perf/util/trace-event-info.c |
| +++ b/tools/perf/util/trace-event-info.c |
| @@ -507,12 +507,14 @@ struct tracing_data *tracing_data_get(st |
| "/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; |
| } |
| |