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 <sandeen@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
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)
printf(_("succeeded checking %llu inodes\n"),
(unsigned long long) inodes_checked);
+out:
free(bstatbuf);
free(parentbuf);
+ free(fshandlep);
return err_status;
}