[libvirt] [PATCH] domain_conf.c: avoid a leak and the need for "cleanup:" block
Daniel Veillard
veillard at redhat.com
Wed Jan 20 20:56:39 UTC 2010
On Wed, Jan 20, 2010 at 09:46:14PM +0100, Jim Meyering wrote:
> Daniel Veillard wrote:
>
> > On Wed, Jan 20, 2010 at 07:30:47PM +0100, Jim Meyering wrote:
> >> This avoids a leak and the need for a "cleanup:" block,
> >> along with its three goto statements.
> >>
> >> While often I prefer to write functions with a single return point,
> >> this one no longer has the need, now that "addr" is freed immediately
> >> after allocation.
> >>
> >> Adding the semicolon in the "case..." stmt may look odd.
> >> It's there because the first stmt is the declaration of "port".
> >> If you'd prefer, an alternative is to put the contents of that
> >> case inside a {...} block.
> >
> > yeah, I really think a {} block is nicer in that case,
> >
> > ACK,
>
> Ok. I've added braces and indented.
> Here's the output of git diff -B -w showing
> what I'm amending into that commit:
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 7815805..27f6f84 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -4929,7 +4929,7 @@ virDomainChrDefFormat(virConnectPtr conn,
>
> switch (def->targetType) {
> case VIR_DOMAIN_CHR_TARGET_TYPE_GUESTFWD:
> - ; /* dummy stmt, for following declaration */
> + {
> int port = virSocketGetPort(def->target.addr);
> if (port < 0) {
> virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s",
> @@ -4947,6 +4947,7 @@ virDomainChrDefFormat(virConnectPtr conn,
> addr, port);
> VIR_FREE(addr);
> break;
> + }
>
> case VIR_DOMAIN_CHR_TARGET_TYPE_PARALLEL:
> case VIR_DOMAIN_CHR_TARGET_TYPE_SERIAL:
Yes, thanks !
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list