[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <YrP/yOkM0q877HGu@hovoldconsulting.com>
Date: Thu, 23 Jun 2022 07:53:12 +0200
From: Johan Hovold <johan@...nel.org>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc: linux-input@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] Input: usbtouchscreen - suppress empty array warnings
On Wed, Jun 22, 2022 at 04:22:08PM -0700, Dmitry Torokhov wrote:
> 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;
>
> ?
It seems
if (id->driver_info >= ARRAY_SIZE(usbtouch_dev_info))
return -ENODEV;
indeed does the trick. I'll send a v2.
Johan
Powered by blists - more mailing lists