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

Erik Skultety eskultet at redhat.com
Thu Sep 26 14:42:27 UTC 2019


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.

>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---

Reviewed-by: Erik Skultety <eskultet at redhat.com>




More information about the libvir-list mailing list