From 16f8daf2dfcbd89e0e2e66c3a75e308c3e5ceb5b Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Tue, 21 Nov 2023 17:17:38 +0100 Subject: [PATCH] qemuDomainAttachDeviceDiskLiveInternal: Fix jumps on error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When I've originally refactored the function in commit 0d981bcefcb5defa2 the logic was still correct, but then later in commit 52f865543920b0 I've moved most of the image setup logic into the function neglecting to add the 'goto cleanup;' needed to skip over the setup of the disk images. Fixes: 52f865543920b0cc5ba93f4407c1b2efdffb8ddc Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_hotplug.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index fec7c4be4e..2d55d1d21e 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -931,7 +931,7 @@ qemuDomainAttachDeviceDiskLiveInternal(virQEMUDriver *driver, if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("disk device='lun' is not supported for usb bus")); - break; + goto cleanup; } if (virDomainUSBAddressEnsure(priv->usbaddrs, &disk->info) < 0) @@ -991,6 +991,7 @@ qemuDomainAttachDeviceDiskLiveInternal(virQEMUDriver *driver, virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("disk bus '%1$s' cannot be hotplugged."), virDomainDiskBusTypeToString(disk->bus)); + goto cleanup; } if (qemuDomainStorageSourceChainAccessAllow(driver, vm, disk->src) < 0)