mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
adminDaemonListServers: Don't leak @srv_names array
When getting a list of servers registered for a daemon, it's returned as a dynamically allocated array filled in with pointers to constant strings. Because the array is dynamic, it should be freed when no longer needed (but not the strings!). Even the function that creates the array suggests that. ==19446== 48 bytes in 3 blocks are definitely lost in loss record 821 of 1,034 ==19446== at 0x4C2C28E: realloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==19446== by 0x54BAFC8: virReallocN (viralloc.c:245) ==19446== by 0x54BB0BE: virExpandN (viralloc.c:294) ==19446== by 0x54BB391: virInsertElementsN (viralloc.c:436) ==19446== by 0x164E3D: virNetDaemonGetServerNames (virnetdaemon.c:217) ==19446== by 0x15616F: adminDaemonListServers (admin_server.c:52) ==19446== by 0x155B8C: adminDispatchConnectListServers (admin.c:151) ==19446== by 0x155FD8: adminDispatchConnectListServersHelper (admin_dispatch.h:101) ==19446== by 0x568E862: virNetServerProgramDispatchCall (virnetserverprogram.c:437) ==19446== by 0x568E3C3: virNetServerProgramDispatch (virnetserverprogram.c:307) ==19446== by 0x5687B5B: virNetServerProcessMsg (virnetserver.c:135) ==19446== by 0x5687C1B: virNetServerHandleJob (virnetserver.c:156) Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
d8fc7e05f8
commit
702713af5a
@ -68,6 +68,7 @@ adminDaemonListServers(virNetDaemonPtr dmn,
|
||||
ret = nsrvs;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(srv_names);
|
||||
virObjectListFree(srvs);
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user