]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: fix a mem leak
authorChen Hanxiao <chenhanxiao@gmail.com>
Sat, 17 Mar 2018 10:24:09 +0000 (18:24 +0800)
committerMichal Privoznik <mprivozn@redhat.com>
Sat, 17 Mar 2018 18:21:22 +0000 (19:21 +0100)
fix a mem leak

Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_driver.c

index 5c55c69affd4e8d2bcd4e78e7bdefe85f35b3d69..7bcc4936ded9b81c402120e5a1ec660e642f2dc4 100644 (file)
@@ -20667,15 +20667,15 @@ qemuARPGetInterfaces(virDomainObjPtr vm,
                 if (VIR_ALLOC(iface) < 0)
                     goto cleanup;
 
-                iface->naddrs = 1;
                 if (VIR_STRDUP(iface->name, vm->def->nets[i]->ifname) < 0)
                     goto cleanup;
 
                 if (VIR_STRDUP(iface->hwaddr, macaddr) < 0)
                     goto cleanup;
 
-                if (VIR_ALLOC_N(iface->addrs, iface->naddrs) < 0)
+                if (VIR_ALLOC(iface->addrs) < 0)
                     goto cleanup;
+                iface->naddrs = 1;
 
                 if (VIR_STRDUP(iface->addrs->addr, entry.ipaddr) < 0)
                     goto cleanup;
@@ -20691,6 +20691,7 @@ qemuARPGetInterfaces(virDomainObjPtr vm,
 
  cleanup:
     virArpTableFree(table);
+    virDomainInterfaceFree(iface);
 
     if (ifaces_ret) {
         for (i = 0; i < ifaces_count; i++)