From 807473c36e106855765579b59d5258d34fa4e58b Mon Sep 17 00:00:00 2001 From: Denis Pronin Date: Wed, 9 Mar 2022 19:41:45 +0300 Subject: [PATCH] fixed memory leak detected by ASAN release memory occupied for td->files for each thread_data in the parent process Signed-off-by: Denis Pronin --- backend.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend.c b/backend.c index cd7f4e5f..001b2b96 100644 --- a/backend.c +++ b/backend.c @@ -2432,7 +2432,10 @@ reap: strerror(ret)); } else { pid_t pid; + struct fio_file **files; dprint(FD_PROCESS, "will fork\n"); + files = td->files; + read_barrier(); pid = fork(); if (!pid) { int ret; @@ -2441,6 +2444,9 @@ reap: _exit(ret); } else if (i == fio_debug_jobno) *fio_debug_jobp = pid; + // freeing previously allocated memory for files + // this memory freed MUST NOT be shared between processes, only the pointer itself may be shared within TD + free(files); free(fd); fd = NULL; } -- 2.25.1