Messages in this thread Patch in this message | | | Subject | [Patch] Array overrun in drivers/net/wireless/wavelan.c | From | Eric Sesterhenn <> | Date | Wed, 21 Jun 2006 16:40:24 +0200 |
| |
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>
--- linux-2.6.17-git2/drivers/net/wireless/wavelan.c.orig 2006-06-21 16:35:19.000000000 +0200 +++ linux-2.6.17-git2/drivers/net/wireless/wavelan.c 2006-06-21 16:36:50.000000000 +0200 @@ -1695,8 +1695,8 @@ static int wv_frequency_list(unsigned lo /* Look in the table if the frequency is allowed */ if (table[9 - (freq / 16)] & (1 << (freq % 16))) { /* Compute approximate channel number */ - while ((((channel_bands[c] >> 1) - 24) < freq) && - (c < NELS(channel_bands))) + while ((c < NELS(channel_bands)) && + (((channel_bands[c] >> 1) - 24) < freq)) c++; list[i].i = c; /* Set the list index */
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |