[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] virsh: plug memory leak on cmdDomIfGetLink() sucessful path



On 2011年12月08日 14:09, ajia redhat com wrote:
From: Alex Jia<ajia redhat com>

Detected by valgrind. Leak introduced in commit dc675f3:

* tools/virsh.c: fix memory leak on cmdDomIfGetLink.

* how to reproduce?
   % valgrind -v --leak-check=full virsh domif-getlink<domain name>  0

* actual valgrind result:

==13102== 18 bytes in 1 blocks are definitely lost in loss record 9 of 47
==13102==    at 0x4A05FDE: malloc (vg_replace_malloc.c:236)
==13102==    by 0x322A6A67DD: xmlStrndup (in /usr/lib64/libxml2.so.2.7.6)
==13102==    by 0x414892: cmdDomIfGetLink (virsh.c:1538)
==13102==    by 0x4136A2: vshCommandRun (virsh.c:16363)
==13102==    by 0x4253FB: main (virsh.c:17865)
==13102==
==13102== LEAK SUMMARY:
==13102==    definitely lost: 18 bytes in 1 blocks
==13102==    indirectly lost: 0 bytes in 0 blocks
==13102==      possibly lost: 0 bytes in 0 blocks
==13102==    still reachable: 127,888 bytes in 1,361 blocks
==13102==         suppressed: 0 bytes in 0 blocks

Signed-off-by: Alex Jia<ajia redhat com>
---
  tools/virsh.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/virsh.c b/tools/virsh.c
index e6e4f8b..276e1cc 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -1538,7 +1538,6 @@ cmdDomIfGetLink (vshControl *ctl, const vshCmd *cmd)
                  mac = virXMLPropString(cur, "address");

                  if (STRCASEEQ(mac, iface)){
-                    VIR_FREE(mac);
                      goto hit;
                  }
              }
@@ -1574,6 +1573,7 @@ cleanup:
      if (dom)
          virDomainFree(dom);

+    VIR_FREE(mac);
      return ret;
  }



ACK.

Osier


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]