Red Hat Bugzilla – Bug 761345
memory leak on cmdDomIfGetLink sucessful path
Last modified: 2012-06-20 02:38:13 EDT
Description of problem: Plug memory leak on cmdDomIfGetLink() sucessful path. Version-Release number of selected component (if applicable): libvirt-0.9.8-0rc2.el6.x86_64 How reproducible: always Steps to Reproduce: 1. valgrind -v --leak-check=full virsh domif-getlink <domain name> <invalid mac> Note: for instance, give a invalid mac address '0' and guest name 'demo', then run 'valgrind -v --leak-check=full virsh domif-getlink demo 0'. Actual results: ==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 Expected results: avoid memory leak. Additional info:
Patch for upstream: https://www.redhat.com/archives/libvir-list/2011-December/msg00375.html
Patch has been ACKed and pushed on upstream, but need a devel_ack+. commit f582199e60cb090c1267aa310d361a22ab8e6484 Author: Alex Jia <ajia@redhat.com> Date: Thu Dec 8 14:09:57 2011 +0800 virsh: plug memory leak on cmdDomIfGetLink() sucessful path 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
I can reproduce this with libvirt-0.9.8-1.el6.x86_64
Reproduce it with libvirt-0.9.8-0rc2.el6.x86_64. Verify it with libvirt-0.9.9-1.el6 and it passed.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2012-0748.html