Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 060f79d5 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] af0933: Don't go past arrays



X-Patchwork-Delegate: m.chehab@samsung.com
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: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
Reviewed-by: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent a8f29e89
Loading
Loading
Loading
Loading
+22 −1
Original line number Diff line number Diff line
@@ -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,6 +586,14 @@ static int af9033_set_frontend(struct dvb_frontend *fe)
				break;
			}
		}
		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 */