migration: cleanup in error paths in loadvm

There's a couple of error paths in qemu_loadvm_state
which happen early on but after we've initialised the
load state; that needs to be cleaned up otherwise
we can hit asserts if the state gets reinitialised later.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20180914170430.54271-3-dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
Dr. David Alan Gilbert 2018-09-14 18:04:30 +01:00
parent 9cf4bb8730
commit 096c83b721

View File

@ -2333,11 +2333,13 @@ int qemu_loadvm_state(QEMUFile *f)
if (migrate_get_current()->send_configuration) { if (migrate_get_current()->send_configuration) {
if (qemu_get_byte(f) != QEMU_VM_CONFIGURATION) { if (qemu_get_byte(f) != QEMU_VM_CONFIGURATION) {
error_report("Configuration section missing"); error_report("Configuration section missing");
qemu_loadvm_state_cleanup();
return -EINVAL; return -EINVAL;
} }
ret = vmstate_load_state(f, &vmstate_configuration, &savevm_state, 0); ret = vmstate_load_state(f, &vmstate_configuration, &savevm_state, 0);
if (ret) { if (ret) {
qemu_loadvm_state_cleanup();
return ret; return ret;
} }
} }