ath5k: several off by one range checks
authorDan Carpenter <error27@gmail.com>
Sat, 8 May 2010 16:24:38 +0000 (18:24 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 10 May 2010 18:56:47 +0000 (14:56 -0400)
There are several places that use > ARRAY_SIZE() instead of
>= ARRAY_SIZE().

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath5k/ani.c

index 584a328..f2311ab 100644 (file)
@@ -73,7 +73,7 @@ ath5k_ani_set_noise_immunity_level(struct ath5k_hw *ah, int level)
        const s8 hi[] = { -14, -12 };
        const s8 fr[] = { -78, -80 };
 #endif
-       if (level < 0 || level > ARRAY_SIZE(sz)) {
+       if (level < 0 || level >= ARRAY_SIZE(sz)) {
                ATH5K_DBG_UNLIMIT(ah->ah_sc, ATH5K_DEBUG_ANI,
                        "level out of range %d", level);
                return;
@@ -104,7 +104,7 @@ ath5k_ani_set_spur_immunity_level(struct ath5k_hw *ah, int level)
 {
        const int val[] = { 2, 4, 6, 8, 10, 12, 14, 16 };
 
-       if (level < 0 || level > ARRAY_SIZE(val) ||
+       if (level < 0 || level >= ARRAY_SIZE(val) ||
            level > ah->ah_sc->ani_state.max_spur_level) {
                ATH5K_DBG_UNLIMIT(ah->ah_sc, ATH5K_DEBUG_ANI,
                        "level out of range %d", level);
@@ -129,7 +129,7 @@ ath5k_ani_set_firstep_level(struct ath5k_hw *ah, int level)
 {
        const int val[] = { 0, 4, 8 };
 
-       if (level < 0 || level > ARRAY_SIZE(val)) {
+       if (level < 0 || level >= ARRAY_SIZE(val)) {
                ATH5K_DBG_UNLIMIT(ah->ah_sc, ATH5K_DEBUG_ANI,
                        "level out of range %d", level);
                return;