[Spice-devel] [spice-gtk v2 1/3] usb-device-manager: handle failures from g_udev_client_new()

Christophe Fergeau cfergeau at redhat.com
Tue Nov 15 16:20:45 UTC 2016


On Tue, Nov 15, 2016 at 02:33:14PM +0100, Victor Toso wrote:
> From: Victor Toso <me at victortoso.com>
> 
> As we must handle when GUdevClient creation can fails otherwise code
> might crash.
> 
> Signed-off-by: Victor Toso <victortoso at redhat.com>
> Acked-by: Christophe Fergeau <cfergeau at redhat.com>
> ---
>  src/usb-device-manager.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/src/usb-device-manager.c b/src/usb-device-manager.c
> index 3d4bd98..671a5be 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 due %s", msg);
> +        return FALSE;
> +    }

A (imo more readable) variant on that would be:

GError *local_error = NULL;
priv->udev  = g_udev_client_new(subsystems, &local_error)
if (priv->udev == NULL) {
    g_warning("Error: %s", local_error->message);
    g_propagate_error(err, local_error);
    return FALSE;
}

Your version:
Acked-by: Christophe Fergeau <cfergeau at redhat.com>

>      g_signal_connect(G_OBJECT(priv->udev), "uevent",
>                       G_CALLBACK(spice_usb_device_manager_uevent_cb), self);
>      /* Do coldplug (detection of already connected devices) */
> -- 
> 2.9.3
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20161115/009f3174/attachment.sig>


More information about the Spice-devel mailing list