[Spice-devel] [spice-gtk v2] usb-device-widget: Fix crash on no USB devices

Victor Toso victortoso at redhat.com
Fri Apr 13 21:20:20 UTC 2018


Hi,

On Fri, Apr 13, 2018 at 03:14:56PM -0300, Eduardo Lima (Etrunko) wrote:
> On 13/04/18 05:50, Victor Toso wrote:
> > From: goldengdeng <907246009 at qq.com>
> > 
> > The spice_usb_device_manager_get_devices() is only checking for NULL
> > while the program can crash when no USB devices are available.
> > 
> > Signed-off-by: Victor Toso <victortoso at redhat.com>
> > ---
> >  src/usb-device-widget.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/src/usb-device-widget.c b/src/usb-device-widget.c
> > index a3c0910..1be80ae 100644
> > --- a/src/usb-device-widget.c
> > +++ b/src/usb-device-widget.c
> > @@ -218,8 +218,9 @@ static void spice_usb_device_widget_constructed(GObject *gobject)
> >                       G_CALLBACK(device_error_cb), self);
> >  
> >      devices = spice_usb_device_manager_get_devices(priv->manager);
> > -    if (!devices)
> > +    if (devices == NULL || devices->len == 0) {
> >          goto end;
> > +    }
> 
> Does it mean that the crash is happening on g_ptr_array_unref() call
> (which happens after the loop below)?

Even if we call g_ptr_array_unref() with NULL, it just log some
criticals.

> Would be interesting to see the backtrace for this supposed
> crash, because this patch does not seem correct to me.

Yeah, I agree. I've asked in the original email too although the
change itself is not complex I don't want to dive into 'where
could it crash' but for sure we should check if devices is NULL
(the original patch removed that).

Cheers,
        toso
> 
> -- 
> Eduardo de Barros Lima (Etrunko)
> Software Engineer - RedHat
> etrunko at redhat.com
> _______________________________________________
> 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: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20180413/f3863043/attachment.sig>


More information about the Spice-devel mailing list