* [PATCH] spice-app: avoid crash when core spice module doesn't loaded
@ 2021-02-13 3:23 Bruce Rogers
2021-02-15 7:52 ` Marc-André Lureau
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Bruce Rogers @ 2021-02-13 3:23 UTC (permalink / raw)
To: qemu-devel; +Cc: kraxel, Bruce Rogers
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: Bruce Rogers <brogers@suse.com>
---
ui/spice-app.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/ui/spice-app.c b/ui/spice-app.c
index 026124ef56..4325ac2d9c 100644
--- a/ui/spice-app.c
+++ b/ui/spice-app.c
@@ -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);
--
2.30.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] spice-app: avoid crash when core spice module doesn't loaded
2021-02-13 3:23 [PATCH] spice-app: avoid crash when core spice module doesn't loaded Bruce Rogers
@ 2021-02-15 7:52 ` Marc-André Lureau
2021-02-15 11:12 ` Philippe Mathieu-Daudé
2021-02-17 13:27 ` Gerd Hoffmann
2 siblings, 0 replies; 4+ messages in thread
From: Marc-André Lureau @ 2021-02-15 7:52 UTC (permalink / raw)
To: Bruce Rogers; +Cc: QEMU, Gerd Hoffmann
[-- Attachment #1: Type: text/plain, Size: 1830 bytes --]
On Sat, Feb 13, 2021 at 7:24 AM Bruce Rogers <brogers@suse.com> wrote:
> 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: Bruce Rogers <brogers@suse.com>
>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
> ui/spice-app.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/ui/spice-app.c b/ui/spice-app.c
> index 026124ef56..4325ac2d9c 100644
> --- a/ui/spice-app.c
> +++ b/ui/spice-app.c
> @@ -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);
> --
> 2.30.0
>
>
>
--
Marc-André Lureau
[-- Attachment #2: Type: text/html, Size: 2787 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] spice-app: avoid crash when core spice module doesn't loaded
2021-02-13 3:23 [PATCH] spice-app: avoid crash when core spice module doesn't loaded Bruce Rogers
2021-02-15 7:52 ` Marc-André Lureau
@ 2021-02-15 11:12 ` Philippe Mathieu-Daudé
2021-02-17 13:27 ` Gerd Hoffmann
2 siblings, 0 replies; 4+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-02-15 11:12 UTC (permalink / raw)
To: Bruce Rogers, qemu-devel; +Cc: kraxel
On 2/13/21 4:23 AM, Bruce Rogers wrote:
> 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: Bruce Rogers <brogers@suse.com>
> ---
> ui/spice-app.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] spice-app: avoid crash when core spice module doesn't loaded
2021-02-13 3:23 [PATCH] spice-app: avoid crash when core spice module doesn't loaded Bruce Rogers
2021-02-15 7:52 ` Marc-André Lureau
2021-02-15 11:12 ` Philippe Mathieu-Daudé
@ 2021-02-17 13:27 ` Gerd Hoffmann
2 siblings, 0 replies; 4+ messages in thread
From: Gerd Hoffmann @ 2021-02-17 13:27 UTC (permalink / raw)
To: Bruce Rogers; +Cc: qemu-devel
On Fri, Feb 12, 2021 at 08:23:18PM -0700, Bruce Rogers wrote:
> 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: Bruce Rogers <brogers@suse.com>
Added to UI queue.
thanks,
Gerd
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-02-17 13:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-13 3:23 [PATCH] spice-app: avoid crash when core spice module doesn't loaded Bruce Rogers
2021-02-15 7:52 ` Marc-André Lureau
2021-02-15 11:12 ` Philippe Mathieu-Daudé
2021-02-17 13:27 ` Gerd Hoffmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).