]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: fix resource leak
authorStefan Berger <stefanb@linux.vnet.ibm.com>
Fri, 4 May 2012 14:42:09 +0000 (10:42 -0400)
committerCole Robinson <crobinso@redhat.com>
Thu, 14 Jun 2012 15:16:29 +0000 (11:16 -0400)
Error: RESOURCE_LEAK:
/libvirt/src/qemu/qemu_driver.c:6968:
alloc_fn: Calling allocation function "calloc".
/libvirt/src/qemu/qemu_driver.c:6968:
var_assign: Assigning: "nodeset" =  storage returned from "calloc(1UL, 1UL)".
/libvirt/src/qemu/qemu_driver.c:6977:
noescape: Variable "nodeset" is not freed or pointed-to in function "virTypedParameterAssign".
/libvirt/src/qemu/qemu_driver.c:6997:
leaked_storage: Variable "nodeset" going out of scope leaks the storage it points to.

(cherry picked from commit c0774482ff9d0689e13eab5bed1da69867dd1902)

src/qemu/qemu_driver.c

index 186bc21bae0e0468c3eac5eb3e48cbb10ccb8dac..2582dadf2eef20d84216a21012af0cb736eb3e2f 100644 (file)
@@ -6973,6 +6973,9 @@ qemuDomainGetNumaParameters(virDomainPtr dom,
             if (virTypedParameterAssign(param, VIR_DOMAIN_NUMA_NODESET,
                                         VIR_TYPED_PARAM_STRING, nodeset) < 0)
                 goto cleanup;
+
+            nodeset = NULL;
+
             break;
 
         default:
@@ -6986,6 +6989,7 @@ qemuDomainGetNumaParameters(virDomainPtr dom,
     ret = 0;
 
 cleanup:
+    VIR_FREE(nodeset);
     virCgroupFree(&group);
     if (vm)
         virDomainObjUnlock(vm);