eea08ab network: avoid memory leak of dnsmasq capabilities

Authored and Committed by ericb 9 years ago
    network: avoid memory leak of dnsmasq capabilities
    
    Valgrind detected a leak:
    
    ==17820== 102 (56 direct, 46 indirect) bytes in 1 blocks are definitely lost in loss record 479 of 646
    ==17820==    at 0x4A08946: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==17820==    by 0x508521A: virAllocVar (viralloc.c:560)
    ==17820==    by 0x50D9FCA: virObjectNew (virobject.c:193)
    ==17820==    by 0x50A4FD9: dnsmasqCapsNewEmpty (virdnsmasq.c:784)
    ==17820==    by 0x50A514E: dnsmasqCapsNewFromBinary (virdnsmasq.c:830)
    ==17820==    by 0x1B508287: networkStateInitialize (bridge_driver.c:666)
    
    It looks like commit 172acef introduced the problem, because
    networkGetDnsmasqCaps() increments the reference count but an
    early exit never does a matching decrement.
    
    * src/network/bridge_driver.c (networkStateCleanup): Plug leak.
    
    Signed-off-by: Eric Blake <eblake@redhat.com>
    
        
file modified
+2 -2