All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
To: Antti Palosaari <crope@iki.fi>
Cc: Linux Media Mailing List <linux-media@vger.kernel.org>,
	Mauro Carvalho Chehab <mchehab@infradead.org>
Subject: Re: [PATCHv2] [media] af0933: Don't go past arrays
Date: Wed, 5 Nov 2014 10:30:27 -0200	[thread overview]
Message-ID: <20141105103027.0d79f76b@recife.lan> (raw)
In-Reply-To: <54598F06.1090904@iki.fi>

Em Wed, 05 Nov 2014 04:44:22 +0200
Antti Palosaari <crope@iki.fi> escreveu:

> Acked-by: Antti Palosaari <crope@iki.fi>
> Reviewed-by: Antti Palosaari <crope@iki.fi>
> 
> anyhow, I think these branches could never taken in real life.

Yes, probably this never happens with current code.

> But as a 
> killing warnings and potential future changes I am pretty fine!

The main goal is to kill warnings, but it also prevents future
mistakes. It is a way better to have a warning printed than
to go past the buffer and get random errors.

Regards,
Mauro

> 
> regards
> Antti
> 
> On 11/04/2014 10:35 PM, Mauro Carvalho Chehab wrote:
> > Fixes the following sparse warnings:
> > 	drivers/media/dvb-frontends/af9033.c:295 af9033_init() error: buffer overflow 'clock_adc_lut' 11 <= 11
> > 	drivers/media/dvb-frontends/af9033.c:300 af9033_init() error: buffer overflow 'clock_adc_lut' 11 <= 11
> > 	drivers/media/dvb-frontends/af9033.c:584 af9033_set_frontend() error: buffer overflow 'coeff_lut' 3 <= 3
> > 	drivers/media/dvb-frontends/af9033.c:595 af9033_set_frontend() error: buffer overflow 'clock_adc_lut' 11 <= 11
> >
> > Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
> >
> > -
> > v2: Only changed the patch subject, as it fixes occurrences on 3
> >      different arrays.
> >
> > diff --git a/drivers/media/dvb-frontends/af9033.c b/drivers/media/dvb-frontends/af9033.c
> > index c17e34fd0fb4..82ce47bdf5dc 100644
> > --- a/drivers/media/dvb-frontends/af9033.c
> > +++ b/drivers/media/dvb-frontends/af9033.c
> > @@ -291,6 +291,12 @@ static int af9033_init(struct dvb_frontend *fe)
> >   		if (clock_adc_lut[i].clock == dev->cfg.clock)
> >   			break;
> >   	}
> > +	if (i == ARRAY_SIZE(clock_adc_lut)) {
> > +		dev_err(&dev->client->dev,
> > +			"Couldn't find ADC config for clock=%d\n",
> > +			dev->cfg.clock);
> > +		goto err;
> > +	}
> >
> >   	adc_cw = af9033_div(dev, clock_adc_lut[i].adc, 1000000ul, 19ul);
> >   	buf[0] = (adc_cw >>  0) & 0xff;
> > @@ -580,7 +586,15 @@ static int af9033_set_frontend(struct dvb_frontend *fe)
> >   				break;
> >   			}
> >   		}
> > -		ret =  af9033_wr_regs(dev, 0x800001,
> > +		if (i == ARRAY_SIZE(coeff_lut)) {
> > +			dev_err(&dev->client->dev,
> > +				"Couldn't find LUT config for clock=%d\n",
> > +				dev->cfg.clock);
> > +			ret = -EINVAL;
> > +			goto err;
> > +		}
> > +
> > +		ret = af9033_wr_regs(dev, 0x800001,
> >   				coeff_lut[i].val, sizeof(coeff_lut[i].val));
> >   	}
> >
> > @@ -592,6 +606,13 @@ static int af9033_set_frontend(struct dvb_frontend *fe)
> >   			if (clock_adc_lut[i].clock == dev->cfg.clock)
> >   				break;
> >   		}
> > +		if (i == ARRAY_SIZE(clock_adc_lut)) {
> > +			dev_err(&dev->client->dev,
> > +				"Couldn't find ADC clock for clock=%d\n",
> > +				dev->cfg.clock);
> > +			ret = -EINVAL;
> > +			goto err;
> > +		}
> >   		adc_freq = clock_adc_lut[i].adc;
> >
> >   		/* get used IF frequency */
> >
> 

      reply	other threads:[~2014-11-05 12:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-04 20:35 [PATCHv2] [media] af0933: Don't go past arrays Mauro Carvalho Chehab
2014-11-05  2:44 ` Antti Palosaari
2014-11-05 12:30   ` Mauro Carvalho Chehab [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141105103027.0d79f76b@recife.lan \
    --to=mchehab@osg.samsung.com \
    --cc=crope@iki.fi \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.