Skip to content
Snippets Groups Projects
Commit 122e4ef6 authored by Bruce Rogers's avatar Bruce Rogers Committed by Gerd Hoffmann
Browse files

spice-app: avoid crash when core spice module doesn't loaded


When qemu is built with modules, but a given module doesn't load
qemu should handle that gracefully. When ui-spice-core.so isn't
able to be loaded and qemu is invoked with -display spice-app or
-spice, qemu will dereference a null pointer. With this change we
check the pointer before dereferencing and error out in a normal
way.

Signed-off-by: default avatarBruce Rogers <brogers@suse.com>
Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210213032318.346093-1-brogers@suse.com>
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent c0ff29d1
No related branches found
No related tags found
No related merge requests found
......@@ -129,6 +129,7 @@ static void spice_app_atexit(void)
static void spice_app_display_early_init(DisplayOptions *opts)
{
QemuOpts *qopts;
QemuOptsList *list;
GError *err = NULL;
if (opts->has_full_screen) {
......@@ -159,11 +160,16 @@ static void spice_app_display_early_init(DisplayOptions *opts)
exit(1);
}
}
list = qemu_find_opts("spice");
if (list == NULL) {
error_report("spice-app missing spice support");
exit(1);
}
type_register(&char_vc_type_info);
sock_path = g_strjoin("", app_dir, "/", "spice.sock", NULL);
qopts = qemu_opts_create(qemu_find_opts("spice"), NULL, 0, &error_abort);
qopts = qemu_opts_create(list, NULL, 0, &error_abort);
qemu_opt_set(qopts, "disable-ticketing", "on", &error_abort);
qemu_opt_set(qopts, "unix", "on", &error_abort);
qemu_opt_set(qopts, "addr", sock_path, &error_abort);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment