-----Original Message-----
From: Martin Kletzander [mailto:mkletzan@redhat.com]
Sent: Wednesday, January 15, 2014 2:36 PM
To: Chen Hanxiao
Cc: libvir-list(a)redhat.com
Subject: Re: [libvirt] [PATCH] lxc: do cleanup when failed to create new
string
> > > 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).
I didn't spot any issues through tests.
But when I read these codes, I felt weird about this section.
As we leaked so little memory here and it seldom happened,
let's keep what they were.
Thanks
Martin