Re: [PATCH 1/2] fsstress: Fix memory leaks

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On 12/03/2017 10:47 AM, Amir Goldstein wrote:
On Thu, Nov 30, 2017 at 7:31 PM, Ari Sundholm <ari@xxxxxxxxxx> wrote:
This patch fixes the memory leaks we found when running fsstress under
valgrind.

Signed-off-by: Ari Sundholm <ari@xxxxxxxxxx>
---
  ltp/fsstress.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/ltp/fsstress.c b/ltp/fsstress.c
index 96f48b1..13d5dd5 100644
--- a/ltp/fsstress.c
+++ b/ltp/fsstress.c
@@ -614,6 +614,9 @@ int main(int argc, char **argv)
                                 return 1;
                         }
  #endif
+
+                       cleanup_flist();
+                       free(freq_table);
                         return 0;
                 }
         }
@@ -640,6 +643,7 @@ int main(int argc, char **argv)
                 close(fd);
         }

+       free(freq_table);
         unlink(buf);
         return 0;
  }
@@ -997,6 +1001,7 @@ doproc(void)
         }
  errout:
         chdir("..");
+       free(homedir);
         if (cleanup) {
                 sprintf(cmd, "rm -rf %s", buf);
                 system(cmd);


I don't see the point in those cleanups before returning from main()
and I don't see the point in storing homedir in the first place at all
and calling chdir(homedir) before abort.


I view cleanups like this simply a matter of correctness with regard to resource allocation/deallocation, even if we know such resources would be automatically freed by the OS on process termination. Also, from a practical POV, it is annoying to get complaints from valgrind and similar tools because of issues like this when investigating something else.

I have no comment on the purpose of saving homedir.

Best regards,
Ari Sundholm
ari@xxxxxxxxxx

Amir.


--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux