From 4aef0fe324428c1ff905ee0ce2b114af0827286a Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 28 Sep 2020 17:03:33 +0200 Subject: [PATCH] qemuMigrationCookieNew: Refactor allocation and cleanup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move around some code so that we can get rid of the 'cleanup:' label. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_migration_cookie.c | 35 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c index 124f61e3ea..a04b74f092 100644 --- a/src/qemu/qemu_migration_cookie.c +++ b/src/qemu/qemu_migration_cookie.c @@ -280,31 +280,30 @@ qemuMigrationCookieNew(const virDomainDef *def, const char *origname) { qemuMigrationCookiePtr mig = NULL; - const char *name; + unsigned char localHostUUID[VIR_UUID_BUFLEN]; + g_autofree char *localHostname = NULL; - if (VIR_ALLOC(mig) < 0) - goto error; + if (!(localHostname = virGetHostname())) + return NULL; - if (origname) - name = origname; - else - name = def->name; - mig->name = g_strdup(name); - memcpy(mig->uuid, def->uuid, VIR_UUID_BUFLEN); - - if (!(mig->localHostname = virGetHostname())) - goto error; - if (virGetHostUUID(mig->localHostuuid) < 0) { + if (virGetHostUUID(localHostUUID) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Unable to obtain host UUID")); - goto error; + return NULL; } - return mig; + mig = g_new0(qemuMigrationCookie, 1); - error: - qemuMigrationCookieFree(mig); - return NULL; + if (origname) + mig->name = g_strdup(origname); + else + mig->name = g_strdup(def->name); + + memcpy(mig->uuid, def->uuid, VIR_UUID_BUFLEN); + memcpy(mig->localHostuuid, localHostUUID, VIR_UUID_BUFLEN); + mig->localHostname = g_steal_pointer(&localHostname); + + return mig; }