mirror of
https://github.com/libvirt/libvirt.git
synced 2025-01-24 07:16:47 -06:00
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>
This commit is contained in:
parent
a9abc08dff
commit
eea08abec5
@ -391,8 +391,8 @@ networkUpdateState(virNetworkObjPtr obj,
|
||||
|
||||
virObjectLock(obj);
|
||||
if (!virNetworkObjIsActive(obj)) {
|
||||
virObjectUnlock(obj);
|
||||
return 0;
|
||||
ret = 0;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
switch (obj->def->forward.type) {
|
||||
|
Loading…
Reference in New Issue
Block a user