On 14.11.2013 18:24, Ján Tomko wrote: > The connection pointer in the closeCallback data was never > initialized, making the unref in remoteClientCloseFunc a no-op. > > This fixes the following leak in virsh when the daemon closes > the connection unexpectedly: > > 1,179 (288 direct, 891 indirect) bytes in 1 blocks are > definitely lost in loss record 745 of 792 > at 0x4C2A6D0: calloc (in vgpreload_memcheck-amd64-linux.so) > by 0x4E9643D: virAllocVar (viralloc.c:558) > by 0x4ED2425: virObjectNew (virobject.c:190) > by 0x4F675AC: virGetConnect (datatypes.c:116) > by 0x4F6EA06: do_open (libvirt.c:1136) > by 0x4F71017: virConnectOpenAuth (libvirt.c:1481) > by 0x129FFA: vshReconnect (virsh.c:337) > by 0x128310: main (virsh.c:2470) > --- > src/libvirt.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/libvirt.c b/src/libvirt.c > index 90608ab..4beb40a 100644 > --- a/src/libvirt.c > +++ b/src/libvirt.c > @@ -21452,6 +21452,7 @@ int virConnectRegisterCloseCallback(virConnectPtr conn, > goto error; > } > > + conn->closeCallback->conn = conn; > conn->closeCallback->callback = cb; > conn->closeCallback->opaque = opaque; > conn->closeCallback->freeCallback = freecb; > ACK Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list