Re: [PATCH 1/2] Input: usbtouchscreen - suppress empty array warnings

From: Dmitry Torokhov
Date: Wed Jun 22 2022 - 19:22:17 EST


Hi Johan,

On Mon, Jun 20, 2022 at 10:46:27AM +0200, Johan Hovold wrote:
> When compile-testing the USB touchscreen driver without enabling any of
> the device type options the usbtouch_dev_info array ends up being empty,
> something which triggers compiler warning with -Warray-bounds
> (gcc-11.3.0).
>
> drivers/input/touchscreen/usbtouchscreen.c: In function 'usbtouch_probe':
> drivers/input/touchscreen/usbtouchscreen.c:1668:16:warning: array subscript <unknown> is outside array bounds of 'struct usbtouch_device_info[0]' [-Warray-bounds]
> 1668 | type = &usbtouch_dev_info[id->driver_info];
>
> Suppress the warnings by making sure that the array is always non-empty.

Does it still warn if you add a check for type, something like

if (type >= ARRAY_SIZE(usbtouch_device_info))
return -ENODEV;

?

Thanks.

--
Dmitry