[libvirt] [PATCH] qemuDomainSnapshotCreateXML: Don't leak parsed snapshot definition

Eric Blake eblake at redhat.com
Tue May 14 14:30:31 UTC 2019


On 5/14/19 8:52 AM, Michal Privoznik wrote:
> This function gets snapshot XML (provided by used) as an
> argument. It parses it into a local variable @def and then sets
> some more members (e.g. it creates a copy of live domain XML).
> Then it proceeds to checking if snapshot XML is valid (e.g. it
> contains as many disks as currently in the domain). If this fails
> then the control jumps to endjob label and subsequently return
> from the function. This is where AUTOFREE function for @def is
> ran. Well, because the code says to run plain VIR_FREE() we leak
> some memory because @def is actually an object and therefore
> it should have been declared as AUTOUNREF.
> 
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>  src/qemu/qemu_driver.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index f01282a037..0a425b82e5 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -15563,7 +15563,7 @@ qemuDomainSnapshotCreateXML(virDomainPtr domain,
>      virCapsPtr caps = NULL;
>      qemuDomainObjPrivatePtr priv;
>      virDomainSnapshotState state;
> -    VIR_AUTOFREE(virDomainSnapshotDefPtr) def = NULL;
> +    VIR_AUTOUNREF(virDomainSnapshotDefPtr) def = NULL;

Typo'd in 57387ff5. Thanks for fixing it for me.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20190514/a1761d75/attachment-0001.sig>


More information about the libvir-list mailing list