Messages in this thread | | | Date | Wed, 26 Jan 2022 12:19:42 +0000 | Subject | Re: [PATCH][next] comedi: das16: Use struct_size() helper in comedi_alloc_spriv() | From | Ian Abbott <> |
| |
On 25/01/2022 23:25, Gustavo A. R. Silva wrote: > Make use of the struct_size() helper instead of an open-coded version, > in order to avoid any potential type mistakes or integer overflows that, > in the worst scenario, could lead to heap overflows. > > Also, address the following sparse warnings: > drivers/comedi/drivers/das16.c:964:45: warning: using sizeof on a flexible structure > drivers/comedi/drivers/das16.c:998:45: warning: using sizeof on a flexible structure > > Link: https://github.com/KSPP/linux/issues/174 > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> > --- > drivers/comedi/drivers/das16.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/comedi/drivers/das16.c b/drivers/comedi/drivers/das16.c > index 937a69ce0977..728dc02156c8 100644 > --- a/drivers/comedi/drivers/das16.c > +++ b/drivers/comedi/drivers/das16.c > @@ -961,7 +961,7 @@ static const struct comedi_lrange *das16_ai_range(struct comedi_device *dev, > > /* allocate single-range range table */ > lrange = comedi_alloc_spriv(s, > - sizeof(*lrange) + sizeof(*krange)); > + struct_size(lrange, range, 1)); > if (!lrange) > return &range_unknown; > > @@ -995,7 +995,7 @@ static const struct comedi_lrange *das16_ao_range(struct comedi_device *dev, > > /* allocate single-range range table */ > lrange = comedi_alloc_spriv(s, > - sizeof(*lrange) + sizeof(*krange)); > + struct_size(lrange, range, 1)); > if (!lrange) > return &range_unknown; >
Looks like a nice tidy-up, thanks!
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
(Note, I do not have anywhere to commit it, personally.)
-- -=( Ian Abbott <abbotti@mev.co.uk> || MEV Ltd. is a company )=- -=( registered in England & Wales. Regd. number: 02862268. )=- -=( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=- -=( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || www.mev.co.uk )=-
| |