Message ID | 20200916223453.22537-1-sonnysasaka@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [BlueZ,v2] sixaxis: Fix crash caused by return of udev_device_get_property_value | expand |
On Wed, 2020-09-16 at 15:34 -0700, Sonny Sasaka wrote: > From: Miao-chen Chou <mcchou@chromium.org> > > This adds a NULL check before calling sscanf(). > > Reviewed-by: Yoni Shavit <yshavit@chromium.org> > Reviewed-by: Alain Michaud <alainm@chromium.org> Looks good. Reviewed-by: Bastien Nocera <hadess@hadess.net>
Hi Sonny, On Wed, Sep 16, 2020 at 3:37 PM Sonny Sasaka <sonnysasaka@chromium.org> wrote: > > From: Miao-chen Chou <mcchou@chromium.org> > > This adds a NULL check before calling sscanf(). > > Reviewed-by: Yoni Shavit <yshavit@chromium.org> > Reviewed-by: Alain Michaud <alainm@chromium.org> > > --- > plugins/sixaxis.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/plugins/sixaxis.c b/plugins/sixaxis.c > index 939fed759..996f85dd6 100644 > --- a/plugins/sixaxis.c > +++ b/plugins/sixaxis.c > @@ -411,7 +411,7 @@ get_pairing_type_for_device(struct udev_device *udevice, uint16_t *bus, > > hid_id = udev_device_get_property_value(hid_parent, "HID_ID"); > > - if (sscanf(hid_id, "%hx:%hx:%hx", bus, &vid, &pid) != 3) > + if (!hid_id || sscanf(hid_id, "%hx:%hx:%hx", bus, &vid, &pid) != 3) > return NULL; > > cp = get_pairing(vid, pid); > -- > 2.26.2 Applied, thanks.
diff --git a/plugins/sixaxis.c b/plugins/sixaxis.c index 939fed759..996f85dd6 100644 --- a/plugins/sixaxis.c +++ b/plugins/sixaxis.c @@ -411,7 +411,7 @@ get_pairing_type_for_device(struct udev_device *udevice, uint16_t *bus, hid_id = udev_device_get_property_value(hid_parent, "HID_ID"); - if (sscanf(hid_id, "%hx:%hx:%hx", bus, &vid, &pid) != 3) + if (!hid_id || sscanf(hid_id, "%hx:%hx:%hx", bus, &vid, &pid) != 3) return NULL; cp = get_pairing(vid, pid);