aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKuan-Wei Chiu <[email protected]>2023-09-30 15:27:19 +0800
committerNamhyung Kim <[email protected]>2023-10-04 22:28:07 -0700
commitbe7a4caa7c45bd4b0a39cdb260905b52a87c8688 (patch)
treecbe012081c9a6464d71bf7994629224f29463bec
parentf2d87895cbc4af80649850dcf5da36de6b2ed3dd (diff)
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]> Acked-by: Namhyung Kim <[email protected]> Cc: [email protected] Cc: [email protected] Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Namhyung Kim <[email protected]>
-rw-r--r--tools/perf/util/hisi-ptt.c4
1 files changed, 3 insertions, 1 deletions
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);