diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 67e6ec34a806cebf4b1f6cc729bf9f37083d6d7c..61ab4440a59ef5f2be6ad515a86b7159a41af5f8 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -935,6 +935,7 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, virDomainNetDefPtr net) { qemuDomainObjPrivatePtr priv = vm->privateData; + virErrorPtr originalError = NULL; char **tapfdName = NULL; int *tapfd = NULL; size_t tapfdSize = 0; @@ -1320,6 +1321,7 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, if (!virDomainObjIsActive(vm)) goto cleanup; + originalError = virSaveLastError(); if (vlan < 0) { if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_NETDEV)) { char *netdev_name; @@ -1350,6 +1352,8 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, ignore_value(qemuDomainObjExitMonitor(driver, vm)); VIR_FREE(hostnet_name); } + virSetError(originalError); + virFreeError(originalError); goto cleanup; }