[libvirt] [PATCH] domain_conf: Unref video private data in virDomainVideoDefClear()

Erik Skultety eskultet at redhat.com
Thu Sep 26 15:08:24 UTC 2019


On Thu, Sep 26, 2019 at 05:01:24PM +0200, Michal Privoznik wrote:
> On 9/26/19 4:42 PM, Erik Skultety wrote:
> > On Thu, Sep 26, 2019 at 04:25:05PM +0200, Michal Privoznik wrote:
> > > The private data for video definition is created in
> > > virDomainVideoDefNew() and we attempt to free it in
> > > virDomainVideoDefFree(). This seems to work, except
> > > the free function calls clear function which zeroes
> > > out the whole structure and thus virObjectUnref()
> > > which is called on private data does nothing.
> > >
> > > 2,568 bytes in 107 blocks are definitely lost in loss record 207 of 213
> > >     at 0x4A35476: calloc (vg_replace_malloc.c:752)
> > >     by 0x50A6048: virAllocVar (viralloc.c:346)
> > >     by 0x513CC5A: virObjectNew (virobject.c:243)
> > >     by 0x4DC1DEE: qemuDomainVideoPrivateNew (qemu_domain.c:1337)
> > >     by 0x51A6BD6: virDomainVideoDefNew (domain_conf.c:2831)
> > >     by 0x51B9F06: virDomainVideoDefParseXML (domain_conf.c:15541)
> > >     by 0x51CB761: virDomainDefParseXML (domain_conf.c:21158)
> > >     by 0x51C5973: virDomainDefParseNode (domain_conf.c:21708)
> > >     by 0x51C583A: virDomainDefParse (domain_conf.c:21663)
> > >     by 0x51C58AE: virDomainDefParseFile (domain_conf.c:21688)
> >
> > Impressive that we haven't uncovered it sooner.
>
> That's okay, this was introduced only a few days ago in
> v5.7.0-212-g3dbf3941ad.

Ah, missed the fact that the series touched the object cleanup code as well.

Erik




More information about the libvir-list mailing list