summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Toso <me@victortoso.com>2016-11-14 23:35:17 +0100
committerVictor Toso <me@victortoso.com>2016-11-15 14:03:01 +0100
commitd3c29773b1654085ef6653643b1f790985b8454b (patch)
tree6acdbeff235b21e220a2464b642d8b27b1b9257f
parenteba83a7056d4213b60466f692a03e515115b0826 (diff)
channel-usbredir: handle failure from SpiceUsbDeviceManager
As spice_usb_device_manager_get() can be NULL Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Christophe Fergeau <cfergeau@redhat.com>
-rw-r--r--src/channel-usbredir.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/channel-usbredir.c b/src/channel-usbredir.c
index add7d5e..4837d68 100644
--- a/src/channel-usbredir.c
+++ b/src/channel-usbredir.c
@@ -293,6 +293,7 @@ static gboolean spice_usbredir_channel_open_device(
SpiceSession *session;
libusb_device_handle *handle = NULL;
int rc, status;
+ SpiceUsbDeviceManager *manager;
g_return_val_if_fail(priv->state == STATE_DISCONNECTED
#ifdef USE_POLKIT
@@ -317,7 +318,10 @@ static gboolean spice_usbredir_channel_open_device(
}
session = spice_channel_get_session(SPICE_CHANNEL(channel));
- priv->usb_device_manager = g_object_ref(spice_usb_device_manager_get(session, NULL));
+ manager = spice_usb_device_manager_get(session, NULL);
+ g_return_val_if_fail(manager != NULL, FALSE);
+
+ priv->usb_device_manager = g_object_ref(manager);
if (!spice_usb_device_manager_start_event_listening(priv->usb_device_manager, err)) {
usbredirhost_set_device(priv->host, NULL);
return FALSE;