diff options
author | Eric Sesterhenn <snakebyte@gmx.de> | 2006-06-21 16:40:24 +0200 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-06-22 23:24:18 -0400 |
commit | a192491ad58098f2c57d2d1efe721ea0634dc0aa (patch) | |
tree | 7a8ef6923e28dcec98f0a6d5bd2c3246cd01eacf | |
parent | da4f5ccf6040b998b64c60db8fa5f4ee03fdaf95 (diff) |
[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>
-rw-r--r-- | drivers/net/wireless/wavelan.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/wavelan.c b/drivers/net/wireless/wavelan.c index dade4b903579..b327b640823b 100644 --- a/drivers/net/wireless/wavelan.c +++ b/drivers/net/wireless/wavelan.c @@ -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 */ 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 */ |