mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 06:50:22 +03:00
ch: Don't leak virCHDomainObjPrivate struct members
There are some members of the virCHDomainObjPrivate struct that are allocated at various stages of domain lifecycle but then are never freed: 1) cgroup - allocated in virDomainCgroupSetupCgroup() 2) autoCpuset - this one is actually never allocated (and thus is always NULL, but soon it may be used. Just free it for now, which is a NOP anyways. 3) autoNodeset - same story as 2). There are two more members, which shouldn't be freed: 1) driver - this is just a raw pointer to the CH driver (see virCHDomainObjPrivateAlloc()). 2) monitor - this member is cleared in virCHProcessStop(), way before control even gets to virCHDomainObjPrivateFree(). 452 (400 direct, 52 indirect) bytes in 1 blocks are definitely lost in loss record 1,944 of 1,998 at 0x484CEF3: calloc (vg_replace_malloc.c:1675) by 0x4F0E7A9: g_malloc0 (in /usr/lib64/libglib-2.0.so.0.8000.5) by 0x49479CE: virCgroupNewFromParent (vircgroup.c:893) by 0x49481BA: virCgroupNewDomainPartition (vircgroup.c:1068) by 0x494915E: virCgroupNewMachineManual (vircgroup.c:1378) by 0x49492FE: virCgroupNewMachine (vircgroup.c:1432) by 0x4B5E3DE: virDomainCgroupInitCgroup (domain_cgroup.c:377) by 0x4B5E9CD: virDomainCgroupSetupCgroup (domain_cgroup.c:524) by 0xB3AC693: virCHProcessStart (ch_process.c:951) by 0xB39B7D4: chDomainCreateXML (ch_driver.c:246) by 0x4CC9D32: virDomainCreateXML (libvirt-domain.c:188) by 0x168F91: remoteDispatchDomainCreateXML (remote_daemon_dispatch_stubs.h:5186) Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
9da8db464a
commit
1b25f1e53b
@ -65,6 +65,9 @@ virCHDomainObjPrivateFree(void *data)
|
||||
|
||||
virChrdevFree(priv->chrdevs);
|
||||
g_free(priv->machineName);
|
||||
virBitmapFree(priv->autoCpuset);
|
||||
virBitmapFree(priv->autoNodeset);
|
||||
virCgroupFree(priv->cgroup);
|
||||
g_free(priv);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user