]> xenbits.xensource.com Git - libvirt.git/commitdiff
virsh: Fix memory leak in cmdNetworkDHCPLeases
authorLuyao Huang <lhuang@redhat.com>
Thu, 30 Oct 2014 02:35:14 +0000 (10:35 +0800)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 30 Oct 2014 06:28:11 +0000 (07:28 +0100)
After cidr_format is allocated by virAsprintf and used by vshPrintExtra
it needs to be freed.

Fix the following memory leak from valgrind:
 18 bytes in 1 blocks are definitely lost in loss record 41 of 192
    at 0x4C29BBD: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x85CE36F: __vasprintf_chk (vasprintf_chk.c:80)
    by 0x4EE52D5: UnknownInlinedFun (stdio2.h:210)
    by 0x4EE52D5: virVasprintfInternal (virstring.c:459)
    by 0x4EE53CA: virAsprintfInternal (virstring.c:480)
    by 0x14FE96: cmdNetworkDHCPLeases (virsh-network.c:1378)
    by 0x13006B: vshCommandRun (virsh.c:1915)
    by 0x12A9E1: main (virsh.c:3699)

Signed-off-by: Luyao Huang <lhuang@redhat.com>
tools/virsh-network.c

index 90392d34797bbd0d788490da4a78ce80c2978b63..4610a3494ced2109bbf82544652a57d66d282586 100644 (file)
@@ -1381,6 +1381,8 @@ cmdNetworkDHCPLeases(vshControl *ctl, const vshCmd *cmd)
                       expirytime, EMPTYSTR(lease->mac),
                       EMPTYSTR(typestr), cidr_format,
                       EMPTYSTR(lease->hostname), EMPTYSTR(lease->clientid));
+
+        VIR_FREE(cidr_format);
     }
 
     ret = true;