libvirt/src/network
Eric Blake eea08abec5 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>
2015-03-14 21:01:26 -06:00
..
bridge_driver_linux.c
bridge_driver_nop.c
bridge_driver_platform.c
bridge_driver_platform.h struct _virNetworkDriverState: Annotate items 2015-03-13 15:55:56 +01:00
bridge_driver.c network: avoid memory leak of dnsmasq capabilities 2015-03-14 21:01:26 -06:00
bridge_driver.h network: dnsmasq: Don't format lease file path 2014-12-03 14:22:40 +01:00
default.xml
leaseshelper.c leaseshelper: Fix incorrect alignment of a switch case 2014-12-03 18:47:24 +01:00