[PATCH] Array overrun in drivers/net/wireless/wavelan.c

hi,

this is another array overrun spotted by coverity (#id 507)
we should check the index against array size before using it.
Not sure why the driver doesnt use ARRAY_SIZE instead of its
own macro.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Eric Sesterhenn
2006-06-21 16:40:24 +02:00
committed by Jeff Garzik
parent da4f5ccf60
commit a192491ad5

View File

@@ -1695,8 +1695,8 @@ static int wv_frequency_list(unsigned long ioaddr, /* I/O port of the card */
/* Look in the table if the frequency is allowed */ /* Look in the table if the frequency is allowed */
if (table[9 - (freq / 16)] & (1 << (freq % 16))) { if (table[9 - (freq / 16)] & (1 << (freq % 16))) {
/* Compute approximate channel number */ /* Compute approximate channel number */
while ((((channel_bands[c] >> 1) - 24) < freq) && while ((c < NELS(channel_bands)) &&
(c < NELS(channel_bands))) (((channel_bands[c] >> 1) - 24) < freq))
c++; c++;
list[i].i = c; /* Set the list index */ list[i].i = c; /* Set the list index */