diff --git a/migration/savevm.c b/migration/savevm.c index d35e87b88c..2d10e45582 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -2333,11 +2333,13 @@ int qemu_loadvm_state(QEMUFile *f) if (migrate_get_current()->send_configuration) { if (qemu_get_byte(f) != QEMU_VM_CONFIGURATION) { error_report("Configuration section missing"); + qemu_loadvm_state_cleanup(); return -EINVAL; } ret = vmstate_load_state(f, &vmstate_configuration, &savevm_state, 0); if (ret) { + qemu_loadvm_state_cleanup(); return ret; } }