[libvirt] [PATCH] qemu_driver: don't leak a virDomainDeviceDef buffer

Daniel P. Berrange berrange at redhat.com
Mon Jan 18 16:06:42 UTC 2010


On Mon, Jan 18, 2010 at 04:58:37PM +0100, Jim Meyering wrote:
> At first I was going to call virDomainDeviceDefFree only "if (dev)",
> but saw that it handles a NULL "dev" just fine, so it's better to skip
> the test altogether, just as we do for many other free-like functions.
> 
> >From ea8511d709492f5cdc152a1eaccbccd05f036648 Mon Sep 17 00:00:00 2001
> From: Jim Meyering <meyering at redhat.com>
> Date: Mon, 18 Jan 2010 16:55:36 +0100
> Subject: [PATCH] qemu_driver: don't leak a virDomainDeviceDef buffer
> 
> * src/qemu/qemu_driver.c (qemudDomainAttachDevice): Don't leak "dev".
> ---
>  src/qemu/qemu_driver.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 365921f..1aa8af6 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -6062,11 +6062,11 @@ cleanup:
>      if (cgroup)
>          virCgroupFree(&cgroup);
> 
> -    if (ret < 0 && dev != NULL) {
> +    if (ret < 0 && dev != NULL)
>          if (qemuDomainSetDeviceOwnership(dom->conn, driver, dev, 1) < 0)
>              VIR_WARN0("Fail to restore disk device ownership");
> -        virDomainDeviceDefFree(dev);
> -    }
> +    virDomainDeviceDefFree(dev);
> +
>      if (vm)
>          virDomainObjUnlock(vm);
>      qemuDriverUnlock(driver);
> --

Your fix is reasonable, but can you leave it out of GIT, because there are
a huge number of other related problems in this bit code which I've got 
patches almost ready for.

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list