aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends/ds3000.c
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2014-02-27 21:04:08 -0500
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-02-28 13:21:02 -0500
commitb59de95bed526467f21c9978460cb15952b462e8 (patch)
tree4454efcef3de842cf54c5c8eac91dab50c8a3765 /drivers/media/dvb-frontends/ds3000.c
parent7e6bd12fb77b0067df13fb3ba3fadbdff2945396 (diff)
[media] ds3000: fix reading array out of bound in ds3000_read_snr
An attempt was made to read dvbs2_snr_tab[80], though dvbs2_snr_tab has only 80 elements. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/dvb-frontends/ds3000.c')
-rw-r--r--drivers/media/dvb-frontends/ds3000.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/dvb-frontends/ds3000.c b/drivers/media/dvb-frontends/ds3000.c
index 1e344b033277..335daeff91b9 100644
--- a/drivers/media/dvb-frontends/ds3000.c
+++ b/drivers/media/dvb-frontends/ds3000.c
@@ -616,7 +616,7 @@ static int ds3000_read_snr(struct dvb_frontend *fe, u16 *snr)
616 snr_reading = dvbs2_noise_reading / tmp; 616 snr_reading = dvbs2_noise_reading / tmp;
617 if (snr_reading > 80) 617 if (snr_reading > 80)
618 snr_reading = 80; 618 snr_reading = 80;
619 *snr = -(dvbs2_snr_tab[snr_reading] / 1000); 619 *snr = -(dvbs2_snr_tab[snr_reading - 1] / 1000);
620 } 620 }
621 dprintk("%s: raw / cooked = 0x%02x / 0x%04x\n", __func__, 621 dprintk("%s: raw / cooked = 0x%02x / 0x%04x\n", __func__,
622 snr_reading, *snr); 622 snr_reading, *snr);