summaryrefslogtreecommitdiff
path: root/migration
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2020-03-24 18:36:28 +0300
committerDr. David Alan Gilbert <dgilbert@redhat.com>2020-03-25 12:31:38 +0000
commit27d07fcfa70c3afa0664288cbce5334ed9595a3a (patch)
tree44333d05f57cbc5ba73c5d184ee5e8a63a9d5ff8 /migration
parentd96c4d5f193e0e45beec80a6277728b32875bddb (diff)
downloadqemu-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 */