[libvirt] [PATCH] lxc: do cleanup when failed to create new string

Martin Kletzander mkletzan at redhat.com
Wed Jan 15 06:36:06 UTC 2014


On Wed, Jan 15, 2014 at 09:47:53AM +0800, Chen Hanxiao wrote:
>
>
> > -----Original Message-----
> > From: Martin Kletzander [mailto:mkletzan at redhat.com]
> > Sent: Tuesday, January 14, 2014 9:24 PM
> > To: Chen Hanxiao
> > Cc: libvir-list at redhat.com
> > Subject: Re: [libvirt] [PATCH] lxc: do cleanup when failed to create new
> string
> >
> > On Tue, Jan 14, 2014 at 05:31:03PM +0800, Chen Hanxiao wrote:
> > > From: Chen Hanxiao <chenhanxiao at cn.fujitsu.com>
> > >
> > > Signed-off-by: Chen Hanxiao <chenhanxiao at cn.fujitsu.com>
> > > ---
> > >  src/lxc/lxc_process.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
> > > index c51c4d5..fc399fb 100644
> > > --- a/src/lxc/lxc_process.c
> > > +++ b/src/lxc/lxc_process.c
> > > @@ -1045,7 +1045,7 @@ int virLXCProcessStart(virConnectPtr conn,
> > >
> > >      if (virAsprintf(&logfile, "%s/%s.log",
> > >                      cfg->logDir, vm->def->name) < 0)
> > > -        return -1;
> > > +       goto cleanup;
> > >
> >
> > I see nothing in that cleanup that needs to be done in this codepath.
> > The only thing which might be needed is cleaning up the
> > vm->def->resource, but that doesn't make much sense to me.  Can you
> > explain the change?
> >
>
> But the code structure looks weird.
> We have already used 'cleanup' before this section.
>

I'd rather see either a) the two previous gotos changed into returns
(which means using a cleanup only where it needs to be done) or b)
using cleanups everywhere, but this doesn't go with what we use
elsewhere and the cleanup in this section is *really* huge, so it's
unnecessary to go there, I guess.

Anyway, me not ACKing it doesn't mean someone else can't agree with
you, I just wanted to know the reason (whether there have been a leak
or something).

Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140115/e1aca3c5/attachment-0001.sig>


More information about the libvir-list mailing list