Re: array subscript out of range

From: Andrew Morton
Date: Tue Jun 28 2005 - 06:02:49 EST


"d binderman" <dcb314@xxxxxxxxxxx> wrote:
>
> Hello there,
>
> I just tried to compile the Linux Kernel version 2.6.11.12
> with the most excellent Intel C compiler. It said
>
> drivers/media/video/bt819.c(239): warning #175: subscript out of range
> init[0x19*2-1] = decoder->norm == 0 ? 115 : 93; /* Chroma burst delay */
> ^
>
> This is clearly broken code, since the init data is declared
> with 44 elements, but the index is for number 49.
>
> Suggest code rework.

Was fixed.


From: "Ronald S. Bultje" <rbultje@xxxxxxxxxxxxxxxxxxx>

Signed-off-by: Ronald S. Bultje <rbultje@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

25-akpm/drivers/media/video/bt819.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN drivers/media/video/bt819.c~bt819-array-indexing-fix drivers/media/video/bt819.c
--- 25/drivers/media/video/bt819.c~bt819-array-indexing-fix 2005-03-28 14:21:43.000000000 -0800
+++ 25-akpm/drivers/media/video/bt819.c 2005-03-28 14:21:44.000000000 -0800
@@ -236,7 +236,8 @@ bt819_init (struct i2c_client *client)
init[0x07 * 2 - 1] = timing->hactive & 0xff;
init[0x08 * 2 - 1] = timing->hscale >> 8;
init[0x09 * 2 - 1] = timing->hscale & 0xff;
- init[0x19*2-1] = decoder->norm == 0 ? 115 : 93; /* Chroma burst delay */
+ /* 0x15 in array is address 0x19 */
+ init[0x15 * 2 - 1] = (decoder->norm == 0) ? 115 : 93; /* Chroma burst delay */
/* reset */
bt819_write(client, 0x1f, 0x00);
mdelay(1);
_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/