public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf hisi-ptt: Fix memory leak in lseek failure handling
@ 2023-09-30  7:27 Kuan-Wei Chiu
  2023-10-03  4:48 ` Namhyung Kim
  2023-10-09 14:53 ` Yicong Yang
  0 siblings, 2 replies; 5+ messages in thread
From: Kuan-Wei Chiu @ 2023-09-30  7:27 UTC (permalink / raw)
  To: yangyicong, jonathan.cameron
  Cc: peterz, mingo, acme, mark.rutland, alexander.shishkin, jolsa,
	namhyung, irogers, adrian.hunter, linux-kernel, linux-perf-users,
	Kuan-Wei Chiu

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 <visitorckw@gmail.com>
---
 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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-10-09 14:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-30  7:27 [PATCH] perf hisi-ptt: Fix memory leak in lseek failure handling Kuan-Wei Chiu
2023-10-03  4:48 ` Namhyung Kim
2023-10-06  8:09   ` Jonathan Cameron
2023-10-09  5:21   ` Namhyung Kim
2023-10-09 14:53 ` Yicong Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox