Red Hat Bugzilla – Bug 789220
memory leak on client programming failure path
Last modified: 2012-06-20 02:48:10 EDT
Description of problem: Memory leak on client programming failure path. Version-Release number of selected component (if applicable): # rpm -q libvirt libvirt-0.9.10-0rc2.el6.x86_64 How reproducible: always Steps to Reproduce: # valgrind -v --leak-check=full virsh -c qemu: Note, give a incomplete qemu/xen URI etc. Actual results: ==7373== 40 bytes in 1 blocks are definitely lost in loss record 7 of 26 ==7373== at 0x4A04A28: calloc (vg_replace_malloc.c:467) ==7373== by 0x4C72C9D: virAlloc (memory.c:101) ==7373== by 0x4D2FAE8: virNetClientProgramNew (virnetclientprogram.c:60) ==7373== by 0x4D1F034: doRemoteOpen (remote_driver.c:658) ==7373== by 0x4D213EF: remoteOpen (remote_driver.c:871) ==7373== by 0x4CEDCA0: do_open (libvirt.c:1196) ==7373== by 0x4CEEDC5: virConnectOpenAuth (libvirt.c:1422) ==7373== by 0x423447: main (virsh.c:18526) ==7373== ==7373== 40 bytes in 1 blocks are definitely lost in loss record 8 of 26 ==7373== at 0x4A04A28: calloc (vg_replace_malloc.c:467) ==7373== by 0x4C72C9D: virAlloc (memory.c:101) ==7373== by 0x4D2FAE8: virNetClientProgramNew (virnetclientprogram.c:60) ==7373== by 0x4D1F057: doRemoteOpen (remote_driver.c:664) ==7373== by 0x4D213EF: remoteOpen (remote_driver.c:871) ==7373== by 0x4CEDCA0: do_open (libvirt.c:1196) ==7373== by 0x4CEEDC5: virConnectOpenAuth (libvirt.c:1422) ==7373== by 0x423447: main (virsh.c:18526) ==7373== ==7373== LEAK SUMMARY: ==7373== definitely lost: 80 bytes in 2 blocks Expected results: fix client memory leaks on failure path. Additional info:
The patch has been sent to upstream and wait for review: https://www.redhat.com/archives/libvir-list/2012-February/msg00519.html
The path has been ACKed and pushed: commit 6d514728cc88a0df4c2d334c771fdd9122f46b15 Author: Alex Jia <ajia@redhat.com> Date: Fri Feb 10 13:26:29 2012 +0800 rpc: Plug memory leaks on doRemoteOpen() failure path Detected by valgrind. Leaks are introduced in commit c1b2264. * src/remote/remote_driver.c (doRemoteOpen): free client program memory in failure path. * How to reproduce? % valgrind -v --leak-check=full virsh -c qemu:
Reproduce it with libvirt-0.9.10-0rc2.el6.x86_64. Verify it with libvirt-0.9.10-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