If *has_error==0, s is freed before s->detach is used.  Save a copy of
s->detach earlier.

Signed-off-by: Jim Paris <[EMAIL PROTECTED]>
---

This shouldn't change much since the memory is most likely still
valid even after it's been freed, but it's still a bug.

 qemu/migration.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/qemu/migration.c b/qemu/migration.c
index 6053c98..4d7aa01 100644
--- a/qemu/migration.c
+++ b/qemu/migration.c
@@ -169,6 +169,7 @@ static void migrate_finish(MigrationState *s)
     int ret = 0;
     int *has_error = s->has_error;
     int saved_vm_running = vm_running;
+    int detach = s->detach;
 
     fcntl(s->fd, F_SETFL, 0);
 
@@ -194,7 +195,7 @@ static void migrate_finish(MigrationState *s)
        if (saved_vm_running)
             vm_start();
     }
-    if (!s->detach)
+    if (!detach)
        monitor_resume();
     qemu_free(has_error);
     cpu_physical_memory_set_dirty_tracking(0);
-- 
1.5.3.GIT


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to