diff mbox series

[BlueZ,v2] sixaxis: Fix crash caused by return of udev_device_get_property_value

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

Commit Message

Sonny Sasaka Sept. 16, 2020, 10:34 p.m. UTC
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(-)

Comments

Bastien Nocera Sept. 17, 2020, 8:56 a.m. UTC | #1
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>
Luiz Augusto von Dentz Sept. 17, 2020, 5:05 p.m. UTC | #2
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 mbox series

Patch

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);