2008-01-28 22:19:00

by Adrian Bunk

[permalink] [raw]
Subject: [2.6 patch] dvb/frontends/tda18271-common.c: fix off-by-one

This patch fixes an off-by-one error spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <[email protected]>

---
--- linux-2.6/drivers/media/dvb/frontends/tda18271-common.c.old 2008-01-28 16:27:55.000000000 +0200
+++ linux-2.6/drivers/media/dvb/frontends/tda18271-common.c 2008-01-28 16:28:38.000000000 +0200
@@ -166,17 +166,17 @@ int tda18271_read_extended(struct dvb_fr
/* read all registers */
ret = i2c_transfer(priv->i2c_adap, msg, 2);

tda18271_i2c_gate_ctrl(fe, 0);

if (ret != 2)
tda_err("ERROR: i2c_transfer returned: %d\n", ret);

- for (i = 0; i <= TDA18271_NUM_REGS; i++) {
+ for (i = 0; i < TDA18271_NUM_REGS; i++) {
/* don't update write-only registers */
if ((i != R_EB9) &&
(i != R_EB16) &&
(i != R_EB17) &&
(i != R_EB19) &&
(i != R_EB20))
regs[i] = regdump[i];
}


2008-01-28 22:30:26

by Michael Ira Krufky

[permalink] [raw]
Subject: Re: [2.6 patch] dvb/frontends/tda18271-common.c: fix off-by-one

Adrian Bunk wrote:
> This patch fixes an off-by-one error spotted by the Coverity checker.
>
> Signed-off-by: Adrian Bunk <[email protected]>
>
Reviewed-by: Michael Krufky <[email protected]>

Thank you, Adrian.

Mauro, please merge this and queue for upstream.

Cheers,

Mike


> ---
> --- linux-2.6/drivers/media/dvb/frontends/tda18271-common.c.old
2008-01-28 16:27:55.000000000 +0200
> +++ linux-2.6/drivers/media/dvb/frontends/tda18271-common.c 2008-01-28
16:28:38.000000000 +0200
> @@ -166,17 +166,17 @@ int tda18271_read_extended(struct dvb_fr
> /* read all registers */
> ret = i2c_transfer(priv->i2c_adap, msg, 2);
>
> tda18271_i2c_gate_ctrl(fe, 0);
>
> if (ret != 2)
> tda_err("ERROR: i2c_transfer returned: %d\n", ret);
>
> - for (i = 0; i <= TDA18271_NUM_REGS; i++) {
> + for (i = 0; i < TDA18271_NUM_REGS; i++) {
> /* don't update write-only registers */
> if ((i != R_EB9) &&
> (i != R_EB16) &&
> (i != R_EB17) &&
> (i != R_EB19) &&
> (i != R_EB20))
> regs[i] = regdump[i];
> }
>
>