[libvirt] [PATCH] xm_internal.c: remove dead store and associated leak
Daniel Veillard
veillard at redhat.com
Mon Sep 7 16:19:59 UTC 2009
On Mon, Sep 07, 2009 at 05:41:18PM +0200, Jim Meyering wrote:
> This one took a little thinking.
>
> I'm not 100% sure that the comment in my log is sufficient
> justification for removing the virGetDomain call. If we leave it,
> we'll have to free it and remove the XXX comment.
>
> >From 324e07f17e6a2ed6df236af955adc693670d1b16 Mon Sep 17 00:00:00 2001
> From: Jim Meyering <meyering at redhat.com>
> Date: Fri, 4 Sep 2009 19:46:59 +0200
> Subject: [PATCH] xm_internal.c: remove dead store and associated leak
>
> * src/xm_internal.c (xenXMDomainDefineXML): Dead store to "olddomain" --
> and comment ;-) highlighted that the virGetDomain call represented a
> leak. It was also useless, seeing as how preceding call to
> virHashLookup(priv->nameConfigMap found def->name.
> ---
> src/xm_internal.c | 5 -----
> 1 files changed, 0 insertions(+), 5 deletions(-)
>
> diff --git a/src/xm_internal.c b/src/xm_internal.c
> index de3aca9..e7f6a55 100644
> --- a/src/xm_internal.c
> +++ b/src/xm_internal.c
> @@ -2532,7 +2532,6 @@ cleanup:
> */
> virDomainPtr xenXMDomainDefineXML(virConnectPtr conn, const char *xml) {
> virDomainPtr ret;
> - virDomainPtr olddomain;
> char filename[PATH_MAX];
> const char * oldfilename;
> virDomainDefPtr def = NULL;
> @@ -2578,10 +2577,6 @@ virDomainPtr xenXMDomainDefineXML(virConnectPtr conn, const char *xml) {
> goto error;
> }
>
> - /* XXX wtf.com is this line for - it appears to be amemory leak */
> - if (!(olddomain = virGetDomain(conn, def->name, entry->def->uuid)))
> - goto error;
> -
> /* Remove the name -> filename mapping */
> if (virHashRemoveEntry(priv->nameConfigMap, def->name, NULL) < 0) {
> xenXMError(conn, VIR_ERR_INTERNAL_ERROR,
Hum .... not so fast :-)
so we are defining a domain, it's in the config map, but if we try to
retrieve it it doesn't show up ...
I wonder if it wasn't a check to preserve files in /etc/xen which
were not domain descriptions, so that someone would not override
a non-domain config file.
Historical, and nasty, I would instead call virUnrefDomain(olddomain);
just after (assuming the virGetDomain didn't find NULL).
But that would need testing, I guess :-\
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