diff options
author | Eric Sesterhenn <snakebyte@gmx.de> | 2006-06-21 10:40:24 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-06-22 23:24:18 -0400 |
commit | a192491ad58098f2c57d2d1efe721ea0634dc0aa (patch) | |
tree | 7a8ef6923e28dcec98f0a6d5bd2c3246cd01eacf /drivers/net/wireless/wavelan.c | |
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>
Diffstat (limited to 'drivers/net/wireless/wavelan.c')
-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 dade4b90357..b327b640823 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 */ | |||
1695 | /* Look in the table if the frequency is allowed */ | 1695 | /* Look in the table if the frequency is allowed */ |
1696 | if (table[9 - (freq / 16)] & (1 << (freq % 16))) { | 1696 | if (table[9 - (freq / 16)] & (1 << (freq % 16))) { |
1697 | /* Compute approximate channel number */ | 1697 | /* Compute approximate channel number */ |
1698 | while ((((channel_bands[c] >> 1) - 24) < freq) && | 1698 | while ((c < NELS(channel_bands)) && |
1699 | (c < NELS(channel_bands))) | 1699 | (((channel_bands[c] >> 1) - 24) < freq)) |
1700 | c++; | 1700 | c++; |
1701 | list[i].i = c; /* Set the list index */ | 1701 | list[i].i = c; /* Set the list index */ |
1702 | 1702 | ||