summary refs log tree commit diff stats
path: root/migration/ram.c
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2020-03-24 18:36:29 +0300
committerDr. David Alan Gilbert <dgilbert@redhat.com>2020-03-25 12:31:38 +0000
commitb4a1733c5e6827c72b0dcfa295e07ef7b1ebccff (patch)
treeecef70efe0d6412fdadd790bdeb404e7b5bef432 /migration/ram.c
parent27d07fcfa70c3afa0664288cbce5334ed9595a3a (diff)
downloadfocaccia-qemu-b4a1733c5e6827c72b0dcfa295e07ef7b1ebccff.tar.gz
focaccia-qemu-b4a1733c5e6827c72b0dcfa295e07ef7b1ebccff.zip
migration/ram: fix use after free of local_err
local_err is used again in migration_bitmap_sync_precopy() after
precopy_notify(), 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-6-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/ram.c')
-rw-r--r--migration/ram.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/migration/ram.c b/migration/ram.c
index c12cfdbe26..04f13feb2e 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -980,6 +980,7 @@ static void migration_bitmap_sync_precopy(RAMState *rs)
      */
     if (precopy_notify(PRECOPY_NOTIFY_BEFORE_BITMAP_SYNC, &local_err)) {
         error_report_err(local_err);
+        local_err = NULL;
     }
 
     migration_bitmap_sync(rs);