xfs
[Top] [All Lists]

Re: [PATCH v2 1/4] xfsprogs: xfs_io: fix a memory leak in imap_f

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH v2 1/4] xfsprogs: xfs_io: fix a memory leak in imap_f
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Mon, 21 Dec 2015 10:48:30 +1100
Cc: Vivek Trivedi <t.vivek@xxxxxxxxxxx>, a.sahrawat@xxxxxxxxxxx, pankaj.m@xxxxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20151220153357.GC20135@xxxxxxxxxxxxx>
References: <1449832143-26356-1-git-send-email-t.vivek@xxxxxxxxxxx> <1449832143-26356-2-git-send-email-t.vivek@xxxxxxxxxxx> <20151220153357.GC20135@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Sun, Dec 20, 2015 at 07:33:57AM -0800, Christoph Hellwig wrote:
> > @@ -39,6 +39,8 @@ imap_f(int argc, char **argv)
> > -           if (count == 0)
> > +           if (count == 0) {
> > +                   free(t);
> >                     return 0;
> > +           }
> 
> please use a goto out_free; here
> 
> >
> >             for (i = 0; i < count; i++) {
> >                     printf(_("ino %10llu count %2d mask %016llx\n"),
> >                             (unsigned long long)t[i].xi_startino,
> > @@ -55,6 +59,7 @@ imap_f(int argc, char **argv)
> >                             (unsigned long long)t[i].xi_allocmask);
> >             }
> >     }
> > +   free(t);
> >     perror("xfsctl(XFS_IOC_FSINUMBERS)");
> >     exitcode = 1;
> >     return 0;
> 
> and place the free just before the return here so that we have a single
> uwinding exit.

<sigh>

I'll just make the change locally, given I *was* only 15 minutes
away from pushing this into the public repository.

-Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>