summaryrefslogtreecommitdiffstats
path: root/migration
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy2020-03-24 16:36:28 +0100
committerDr. David Alan Gilbert2020-03-25 13:31:38 +0100
commit27d07fcfa70c3afa0664288cbce5334ed9595a3a (patch)
tree44333d05f57cbc5ba73c5d184ee5e8a63a9d5ff8 /migration
parentvl.c: fix migration failure for 3.1 and older machine types (diff)
downloadqemu-27d07fcfa70c3afa0664288cbce5334ed9595a3a.tar.gz
qemu-27d07fcfa70c3afa0664288cbce5334ed9595a3a.tar.xz
qemu-27d07fcfa70c3afa0664288cbce5334ed9595a3a.zip
migration/colo: fix use after free of local_err
local_err is used again in secondary_vm_do_failover() after replication_stop_all(), so we must zero it. Otherwise try to set non-NULL local_err will crash. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20200324153630.11882-5-vsementsov@virtuozzo.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'migration')
-rw-r--r--migration/colo.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/migration/colo.c b/migration/colo.c
index 44942c4e23..a54ac84f41 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -93,6 +93,7 @@ static void secondary_vm_do_failover(void)
replication_stop_all(true, &local_err);
if (local_err) {
error_report_err(local_err);
+ local_err = NULL;
}
/* Notify all filters of all NIC to do checkpoint */