summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2012-02-01 10:42:11 +0300
committerJohn W. Linville <linville@tuxdriver.com>2012-02-06 14:55:41 -0500
commit910570b5f4dbf75b73389010704ca6442a767a41 (patch)
tree6c3c581f672492906ebf5b4c34adc307e06aa5a3
parentd486a5b4996d2fffd10098725781f2c5690774bc (diff)
mac80211: off by one in mcs mask handling
"ridx" is used as an index into the mcs_mask[] array which has IEEE80211_HT_MCS_MASK_LEN elements. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--net/mac80211/rate.c2
-rw-r--r--net/wireless/nl80211.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
index 3fef26d8898a..22fc28e9026e 100644
--- a/net/mac80211/rate.c
+++ b/net/mac80211/rate.c
@@ -324,7 +324,7 @@ static bool rate_idx_match_mcs_mask(struct ieee80211_tx_rate *rate,
rbit = rate->idx % 8;
/* sanity check */
- if (ridx < 0 || ridx > IEEE80211_HT_MCS_MASK_LEN)
+ if (ridx < 0 || ridx >= IEEE80211_HT_MCS_MASK_LEN)
return false;
/* See whether the selected rate or anything below it is allowed. */
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index f1681e2c5949..fe2747653564 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -5410,7 +5410,7 @@ static bool ht_rateset_to_mask(struct ieee80211_supported_band *sband,
rbit = BIT(rates[i] % 8);
/* check validity */
- if ((ridx < 0) || (ridx > IEEE80211_HT_MCS_MASK_LEN))
+ if ((ridx < 0) || (ridx >= IEEE80211_HT_MCS_MASK_LEN))
return false;
/* check availability */