From 92b9657986b3f8000add2ac825459775588829a8 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Wed, 22 Apr 2020 16:12:39 +0200 Subject: [PATCH] virQEMUSaveData: Register autoclear function and use it in qemuDomainSaveImageOpen MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit In an attempt to simplify qemuDomainSaveImageOpen we need to add automatic pointer clearing for virQEMUSaveData. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_driver.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 9a9361949d..5b87aaf9c2 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -2856,6 +2856,7 @@ virQEMUSaveDataFree(virQEMUSaveDataPtr data) VIR_FREE(data); } +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virQEMUSaveData, virQEMUSaveDataFree); /** * This function steals @domXML on success. @@ -6692,7 +6693,7 @@ qemuDomainSaveImageOpen(virQEMUDriverPtr driver, { int fd = -1; int ret = -1; - virQEMUSaveDataPtr data = NULL; + g_autoptr(virQEMUSaveData) data = NULL; virQEMUSaveHeaderPtr header; virDomainDefPtr def = NULL; int oflags = open_write ? O_RDWR : O_RDONLY; @@ -6809,13 +6810,12 @@ qemuDomainSaveImageOpen(virQEMUDriverPtr driver, goto error; *ret_def = def; - *ret_data = data; + *ret_data = g_steal_pointer(&data); return fd; error: virDomainDefFree(def); - virQEMUSaveDataFree(data); VIR_FORCE_CLOSE(fd); return ret; } -- 2.47.2