• A
    rpc: Plug memory leaks on doRemoteOpen() failure path · 6d514728
    Alex Jia 提交于
    Detected by valgrind. Leaks are introduced in commit c1b22644.
    
    * src/remote/remote_driver.c (doRemoteOpen): free client program memory in failure path.
    
    * How to reproduce?
    % valgrind -v --leak-check=full virsh -c qemu:
    
    * Actual result
    
    ==3969== 40 bytes in 1 blocks are definitely lost in loss record 8 of 28
    ==3969==    at 0x4A04A28: calloc (vg_replace_malloc.c:467)
        ==3969==    by 0x4C89C41: virAlloc (memory.c:101)
        ==3969==    by 0x4D5A236: virNetClientProgramNew (virnetclientprogram.c:60)
        ==3969==    by 0x4D47AB4: doRemoteOpen (remote_driver.c:658)
        ==3969==    by 0x4D49FFF: remoteOpen (remote_driver.c:871)
        ==3969==    by 0x4D13373: do_open (libvirt.c:1196)
        ==3969==    by 0x4D14535: virConnectOpenAuth (libvirt.c:1422)
        ==3969==    by 0x425627: main (virsh.c:18537)
        ==3969==
        ==3969== 40 bytes in 1 blocks are definitely lost in loss record 9 of 28
        ==3969==    at 0x4A04A28: calloc (vg_replace_malloc.c:467)
        ==3969==    by 0x4C89C41: virAlloc (memory.c:101)
        ==3969==    by 0x4D5A236: virNetClientProgramNew (virnetclientprogram.c:60)
        ==3969==    by 0x4D47AD7: doRemoteOpen (remote_driver.c:664)
        ==3969==    by 0x4D49FFF: remoteOpen (remote_driver.c:871)
        ==3969==    by 0x4D13373: do_open (libvirt.c:1196)
        ==3969==    by 0x4D14535: virConnectOpenAuth (libvirt.c:1422)
        ==3969==    by 0x425627: main (virsh.c:18537)
        ==3969==
        ==3969== LEAK SUMMARY:
        ==3969==    definitely lost: 80 bytes in 2 blocks
    Signed-off-by: NAlex Jia <ajia@redhat.com>
    6d514728
remote_driver.c 163.2 KB