From: Peter Krempa Date: Wed, 17 Oct 2018 12:22:23 +0000 (+0200) Subject: qemu: process: Consolidate error paths in qemuProcessHandleBlockJob X-Git-Tag: v5.1.0-rc1~466 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a1248baddb620fdec03829c8ee4478cd30c19fd;p=thirdparty%2Flibvirt.git qemu: process: Consolidate error paths in qemuProcessHandleBlockJob 'cleanup' label was accessed only from a jump to 'error'. Consolidate everyting into 'cleanup'. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 16c2e1d770..5d9a59fa3a 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -936,7 +936,7 @@ qemuProcessHandleBlockJob(qemuMonitorPtr mon ATTRIBUTE_UNUSED, diskAlias, vm, vm->def->name, type, status); if (!(disk = qemuProcessFindDomainDiskByAliasOrQOM(vm, diskAlias, NULL))) - goto error; + goto cleanup; job = QEMU_DOMAIN_DISK_PRIVATE(disk)->blockjob; @@ -950,11 +950,11 @@ qemuProcessHandleBlockJob(qemuMonitorPtr mon ATTRIBUTE_UNUSED, } else { /* there is no waiting SYNC API, dispatch the update to a thread */ if (VIR_ALLOC(processEvent) < 0) - goto error; + goto cleanup; processEvent->eventType = QEMU_PROCESS_EVENT_BLOCK_JOB; if (VIR_STRDUP(data, diskAlias) < 0) - goto error; + goto cleanup; processEvent->data = data; processEvent->vm = virObjectRef(vm); processEvent->action = type; @@ -962,16 +962,16 @@ qemuProcessHandleBlockJob(qemuMonitorPtr mon ATTRIBUTE_UNUSED, if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { ignore_value(virObjectUnref(vm)); - goto error; + goto cleanup; } + + processEvent = NULL; } cleanup: + qemuProcessEventFree(processEvent); virObjectUnlock(vm); return 0; - error: - qemuProcessEventFree(processEvent); - goto cleanup; }