From 713ba3f2c7f6d28a78df4e774cb8c3bd9ff12154 Mon Sep 17 00:00:00 2001 From: Eric Sandeen Date: Tue, 16 Sep 2014 09:18:21 +1000 Subject: [PATCH] xfs_io: free fshandlep in parent_check() The allocated fshandle wasn't freed in either normal exit or error paths. Do this, and consolidate cleanup into an out: target. Signed-off-by: Eric Sandeen Reviewed-by: Brian Foster Signed-off-by: Dave Chinner --- io/parent.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/io/parent.c b/io/parent.c index ca989e960..56e126d32 100644 --- a/io/parent.c +++ b/io/parent.c @@ -258,9 +258,8 @@ parent_check(void) if (!bstatbuf || !parentbuf) { fprintf(stderr, _("unable to allocate buffers: %s\n"), strerror(errno)); - free(bstatbuf); - free(parentbuf); - return 1; + err_status = 1; + goto out; } if (do_bulkstat(parentbuf, &parentbuf_size, bstatbuf, fsfd, fshandlep) != 0) @@ -272,8 +271,10 @@ parent_check(void) printf(_("succeeded checking %llu inodes\n"), (unsigned long long) inodes_checked); +out: free(bstatbuf); free(parentbuf); + free(fshandlep); return err_status; } -- 2.47.2