On 22/02/16 08:57, Michal Privoznik wrote: > 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 <mpriv...@redhat.com> > --- > daemon/admin_server.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/daemon/admin_server.c b/daemon/admin_server.c > index 7521e82..0196bfe 100644 > --- a/daemon/admin_server.c > +++ b/daemon/admin_server.c > @@ -68,6 +68,7 @@ adminDaemonListServers(virNetDaemonPtr dmn, > ret = nsrvs; > > cleanup: > + VIR_FREE(srv_names); > virObjectListFree(srvs); > return ret; > } >
ACK Erik -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list