[2/2] perf hisi-ptt: Fix one memory leakage in hisi_ptt_process_auxtrace_event()

Message ID 20231207081635.8427-3-yangyicong@huawei.com
State New
Headers
Series Perf fix two memory leakage |

Commit Message

Yicong Yang Dec. 7, 2023, 8:16 a.m. UTC
  From: Yicong Yang <yangyicong@hisilicon.com>

ASan complains a memory leakage in hisi_ptt_process_auxtrace_event()
that the data buffer is not freed. Since currently we only support
the raw dump trace mode, the data buffer is used only within this
function. So fix this by freeing the data buffer before going out.

Fixes: 5e91e57e6809 ("perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet")
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
---
 tools/perf/util/hisi-ptt.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Namhyung Kim Dec. 13, 2023, 1:20 a.m. UTC | #1
On Thu, Dec 7, 2023 at 12:20 AM Yicong Yang <yangyicong@huawei.com> wrote:
>
> From: Yicong Yang <yangyicong@hisilicon.com>
>
> ASan complains a memory leakage in hisi_ptt_process_auxtrace_event()
> that the data buffer is not freed. Since currently we only support
> the raw dump trace mode, the data buffer is used only within this
> function. So fix this by freeing the data buffer before going out.
>
> Fixes: 5e91e57e6809 ("perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet")
> Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>

Acked-by: Namhyung Kim <Namhyung@kernel.org>

Thanks,
Namhyung

> ---
>  tools/perf/util/hisi-ptt.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/tools/perf/util/hisi-ptt.c b/tools/perf/util/hisi-ptt.c
> index 43bd1ca62d58..52d0ce302ca0 100644
> --- a/tools/perf/util/hisi-ptt.c
> +++ b/tools/perf/util/hisi-ptt.c
> @@ -123,6 +123,7 @@ static int hisi_ptt_process_auxtrace_event(struct perf_session *session,
>         if (dump_trace)
>                 hisi_ptt_dump_event(ptt, data, size);
>
> +       free(data);
>         return 0;
>  }
>
> --
> 2.24.0
>
>
  

Patch

diff --git a/tools/perf/util/hisi-ptt.c b/tools/perf/util/hisi-ptt.c
index 43bd1ca62d58..52d0ce302ca0 100644
--- a/tools/perf/util/hisi-ptt.c
+++ b/tools/perf/util/hisi-ptt.c
@@ -123,6 +123,7 @@  static int hisi_ptt_process_auxtrace_event(struct perf_session *session,
 	if (dump_trace)
 		hisi_ptt_dump_event(ptt, data, size);
 
+	free(data);
 	return 0;
 }