From 5d39c799c3245244ebb1e89da0177dbc089962b2 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Mon, 30 Nov 2009 18:21:19 +0100 Subject: migration: Fix use of file after release qemu_fclose frees the passed file structure, but do_migrate_set_speed may access it later on. Fix it by setting file NULL in migrate_fd_cleanup and checking for this. Signed-off-by: Jan Kiszka Signed-off-by: Anthony Liguori --- migration.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/migration.c b/migration.c index 3ae0be86c8..dcde7c38da 100644 --- a/migration.c +++ b/migration.c @@ -118,12 +118,11 @@ void do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret_data) } max_throttle = (uint32_t)d; - s = migrate_to_fms(current_migration); - if (s) { + s = migrate_to_fms(current_migration); + if (s && s->file) { qemu_file_set_rate_limit(s->file, max_throttle); } - } /* amount of nanoseconds we are willing to wait for migration to be down. @@ -209,6 +208,7 @@ void migrate_fd_cleanup(FdMigrationState *s) if (s->file) { dprintf("closing file\n"); qemu_fclose(s->file); + s->file = NULL; } if (s->fd != -1) -- cgit v1.2.3