spice: init dcl before registering qxl interface
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 19 Feb 2016 08:23:03 +0000 (09:23 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 23 Feb 2016 11:04:39 +0000 (12:04 +0100)
Without this spice might callback into qemu before ssd->dcl.con is
initialized, resulting in a segfault due to NULL pointer dereference.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
ui/spice-display.c

index 8a5b325..cdbc78d 100644 (file)
@@ -775,14 +775,14 @@ static void qemu_spice_display_init_one(QemuConsole *con)
 
     qemu_spice_display_init_common(ssd);
 
+    ssd->dcl.ops = &display_listener_ops;
+    ssd->dcl.con = con;
+
     ssd->qxl.base.sif = &dpy_interface.base;
     qemu_spice_add_display_interface(&ssd->qxl, con);
     assert(ssd->worker);
-
     qemu_spice_create_host_memslot(ssd);
 
-    ssd->dcl.ops = &display_listener_ops;
-    ssd->dcl.con = con;
     register_displaychangelistener(&ssd->dcl);
 }