[Spice-devel] [spice-gtk v1 2/2] channel-usbredir: Fix crash on channel-up

Victor Toso victortoso at redhat.com
Fri Apr 6 07:59:44 UTC 2018


From: Victor Toso <me at victortoso.com>

By adding a guard to not handle channel-up on SpiceUsbredirChannel in
case struct usbredirhost wasn't initialized yet. Same guard is in
place for the generic usbredir_handle_msg() function to avoid handling
Server's message while Client's initialization is not done.

As mentioned in commit 291f3e4419e6, this isn't a problem for
graphical clients as some initialization is done to present the
shareable usb devices to user.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1399838
---
 src/channel-usbredir.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/channel-usbredir.c b/src/channel-usbredir.c
index f509e49..6df3b61 100644
--- a/src/channel-usbredir.c
+++ b/src/channel-usbredir.c
@@ -819,6 +819,7 @@ static void spice_usbredir_channel_up(SpiceChannel *c)
     SpiceUsbredirChannel *channel = SPICE_USBREDIR_CHANNEL(c);
     SpiceUsbredirChannelPrivate *priv = channel->priv;
 
+    g_return_if_fail(priv->host != NULL);
     /* Flush any pending writes */
     usbredirhost_write_guest_data(priv->host);
 }
-- 
2.16.2



More information about the Spice-devel mailing list