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

Jonathon Jongsma jjongsma at redhat.com
Tue Nov 15 16:42:26 UTC 2016


On Tue, 2016-11-15 at 17:20 +0100, Christophe Fergeau wrote:
> 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>

Nitpick:
If you do use your original version (and you haven't already pushed
yet), note that it should be "due to %s", not "due %s".



> 
> > 
> >      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
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list