From ded74b33699bdaf67bc57e2ad311f94fd96c7f6e Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Tue, 16 Apr 2024 15:11:02 +0200 Subject: [PATCH] qemu: Use g_autoptr in qemuProcessInit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The only thing we need to free in the cleanup code is virCPUDef and for that we already have g_autoptr handler. Signed-off-by: Jiri Denemark Reviewed-by: Ján Tomko --- src/qemu/qemu_process.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 8145205fa8..e4bcb628cf 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5657,8 +5657,7 @@ qemuProcessInit(virQEMUDriver *driver, { qemuDomainObjPrivate *priv = vm->privateData; int stopFlags; - virCPUDef *origCPU = NULL; - int ret = -1; + g_autoptr(virCPUDef) origCPU = NULL; VIR_DEBUG("vm=%p name=%s id=%d migration=%d", vm, vm->def->name, vm->def->id, migration); @@ -5668,7 +5667,7 @@ qemuProcessInit(virQEMUDriver *driver, if (virDomainObjIsActive(vm)) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", _("VM is already active")); - goto cleanup; + return -1; } /* in case when the post parse callback failed we need to re-run it on the @@ -5678,18 +5677,18 @@ qemuProcessInit(virQEMUDriver *driver, /* we don't have the private copy of qemuCaps at this point */ if (virDomainDefPostParse(vm->def, 0, driver->xmlopt, NULL) < 0) - goto cleanup; + return -1; } VIR_DEBUG("Determining emulator version"); if (qemuProcessPrepareQEMUCaps(vm, driver->qemuCapsCache) < 0) - goto cleanup; + return -1; if (qemuDomainUpdateCPU(vm, updatedCPU, &origCPU) < 0) - goto cleanup; + return -1; if (qemuProcessStartValidate(driver, vm, priv->qemuCaps, flags) < 0) - goto cleanup; + return -1; /* Do this upfront, so any part of the startup process can add * runtime state to vm->def that won't be persisted. This let's us @@ -5697,12 +5696,12 @@ qemuProcessInit(virQEMUDriver *driver, */ VIR_DEBUG("Setting current domain def as transient"); if (virDomainObjSetDefTransient(driver->xmlopt, vm, priv->qemuCaps) < 0) - goto cleanup; + return -1; if (flags & VIR_QEMU_PROCESS_START_PRETEND) { if (qemuDomainSetPrivatePaths(driver, vm) < 0) { virDomainObjRemoveTransientDef(vm); - goto cleanup; + return -1; } } else { vm->def->id = qemuDriverAllocateID(driver); @@ -5724,18 +5723,14 @@ qemuProcessInit(virQEMUDriver *driver, priv->origCPU = g_steal_pointer(&origCPU); } - ret = 0; - - cleanup: - virCPUDefFree(origCPU); - return ret; + return 0; stop: stopFlags = VIR_QEMU_PROCESS_STOP_NO_RELABEL; if (migration) stopFlags |= VIR_QEMU_PROCESS_STOP_MIGRATED; qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED, asyncJob, stopFlags); - goto cleanup; + return -1; }