[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20061106094527.GG5778@stusta.de>
Date: Mon, 6 Nov 2006 10:45:28 +0100
From: Adrian Bunk <bunk@...sta.de>
To: jgarzik@...ox.com, davem@...emloft.net
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: tg3_read_partno(): possible array overrun
The Coverity checker noted the following in drivers/net/tg3.c:
<-- snip -->
...
static void __devinit tg3_read_partno(struct tg3 *tp)
{
unsigned char vpd_data[256];
int i;
...
/* Now parse and find the part number. */
for (i = 0; i < 256; ) {
unsigned char val = vpd_data[i];
int block_end;
if (val == 0x82 || val == 0x91) {
i = (i + 3 +
(vpd_data[i + 1] +
(vpd_data[i + 2] << 8)));
continue;
}
if (val != 0x90)
goto out_not_found;
block_end = (i + 3 +
(vpd_data[i + 1] +
(vpd_data[i + 2] << 8)));
i += 3;
...
<-- snip -->
The problem is that vpd_data[i + 2] could be vpd_data[255 + 2].
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists