diff options
author | Victor Toso <me@victortoso.com> | 2016-11-14 18:45:18 +0100 |
---|---|---|
committer | Victor Toso <me@victortoso.com> | 2016-11-15 17:37:36 +0100 |
commit | d6275ccfc43993365b601aaab6238e7a447c90d8 (patch) | |
tree | 741710d245b207a421810680c226d817ecf0d620 | |
parent | d3c29773b1654085ef6653643b1f790985b8454b (diff) |
usb-device-manager: handle failures from g_udev_client_new()
As we must handle when GUdevClient creation can fail otherwise code
might crash.
Signed-off-by: Victor Toso <victortoso@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
-rw-r--r-- | src/usb-device-manager.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/usb-device-manager.c b/src/usb-device-manager.c index 3d4bd98..efb7454 100644 --- a/src/usb-device-manager.c +++ b/src/usb-device-manager.c @@ -321,6 +321,11 @@ static gboolean spice_usb_device_manager_initable_init(GInitable *initable, /* Start listening for usb devices plug / unplug */ #ifdef USE_GUDEV priv->udev = g_udev_client_new(subsystems, err); + if (priv->udev == NULL) { + const gchar *msg = (err != NULL && *err != NULL) ? (*err)->message : ""; + g_warning("Error initializing GUdevClient - %s", msg); + return FALSE; + } g_signal_connect(G_OBJECT(priv->udev), "uevent", G_CALLBACK(spice_usb_device_manager_uevent_cb), self); /* Do coldplug (detection of already connected devices) */ |