2023-09-30 16:30:52

by Kuan-Wei Chiu

[permalink] [raw]
Subject: [PATCH] perf hisi-ptt: Fix memory leak in lseek failure handling

In the previous code, there was a memory leak issue where the previously
allocated memory was not freed upon a failed lseek operation. This patch
addresses the problem by releasing the old memory before returning -errno
in case of a lseek failure. This ensures that memory is properly managed
and avoids potential memory leaks.

Signed-off-by: Kuan-Wei Chiu <[email protected]>
---
tools/perf/util/hisi-ptt.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/hisi-ptt.c b/tools/perf/util/hisi-ptt.c
index 45b614bb73bf..43bd1ca62d58 100644
--- a/tools/perf/util/hisi-ptt.c
+++ b/tools/perf/util/hisi-ptt.c
@@ -108,8 +108,10 @@ static int hisi_ptt_process_auxtrace_event(struct perf_session *session,
data_offset = 0;
} else {
data_offset = lseek(fd, 0, SEEK_CUR);
- if (data_offset == -1)
+ if (data_offset == -1) {
+ free(data);
return -errno;
+ }
}

err = readn(fd, data, size);
--
2.25.1


2023-10-03 04:48:31

by Namhyung Kim

[permalink] [raw]
Subject: Re: [PATCH] perf hisi-ptt: Fix memory leak in lseek failure handling

Hello,

On Sat, Sep 30, 2023 at 12:27 AM Kuan-Wei Chiu <[email protected]> wrote:
>
> In the previous code, there was a memory leak issue where the previously
> allocated memory was not freed upon a failed lseek operation. This patch
> addresses the problem by releasing the old memory before returning -errno
> in case of a lseek failure. This ensures that memory is properly managed
> and avoids potential memory leaks.
>
> Signed-off-by: Kuan-Wei Chiu <[email protected]>

Acked-by: Namhyung Kim <[email protected]>

Thanks,
Namhyung


> ---
> tools/perf/util/hisi-ptt.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/hisi-ptt.c b/tools/perf/util/hisi-ptt.c
> index 45b614bb73bf..43bd1ca62d58 100644
> --- a/tools/perf/util/hisi-ptt.c
> +++ b/tools/perf/util/hisi-ptt.c
> @@ -108,8 +108,10 @@ static int hisi_ptt_process_auxtrace_event(struct perf_session *session,
> data_offset = 0;
> } else {
> data_offset = lseek(fd, 0, SEEK_CUR);
> - if (data_offset == -1)
> + if (data_offset == -1) {
> + free(data);
> return -errno;
> + }
> }
>
> err = readn(fd, data, size);
> --
> 2.25.1
>

2023-10-09 05:22:30

by Namhyung Kim

[permalink] [raw]
Subject: Re: [PATCH] perf hisi-ptt: Fix memory leak in lseek failure handling

On Mon, Oct 2, 2023 at 9:48 PM Namhyung Kim <[email protected]> wrote:
>
> Hello,
>
> On Sat, Sep 30, 2023 at 12:27 AM Kuan-Wei Chiu <[email protected]> wrote:
> >
> > In the previous code, there was a memory leak issue where the previously
> > allocated memory was not freed upon a failed lseek operation. This patch
> > addresses the problem by releasing the old memory before returning -errno
> > in case of a lseek failure. This ensures that memory is properly managed
> > and avoids potential memory leaks.
> >
> > Signed-off-by: Kuan-Wei Chiu <[email protected]>
>
> Acked-by: Namhyung Kim <[email protected]>

Applied to perf-tools-next, thanks!