2011-04-10 19:09:58

by Roel Kluin

[permalink] [raw]
Subject: [PATCH 2/2] ath9k: index out of bounds

Check whether index is within bounds before testing the element

Signed-off-by: Roel Kluin <[email protected]>
---
drivers/net/wireless/ath/ath9k/rc.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c
index 4c0d36a..1809409 100644
--- a/drivers/net/wireless/ath/ath9k/rc.c
+++ b/drivers/net/wireless/ath/ath9k/rc.c
@@ -1092,8 +1092,7 @@ static int ath_rc_get_rateindex(const struct ath_rate_table *rate_table,
if (!(rate->flags & IEEE80211_TX_RC_MCS))
return rate->idx;

- while (rate->idx > mcs_rix_off[i] &&
- i < ARRAY_SIZE(mcs_rix_off)) {
+ while (i < ARRAY_SIZE(mcs_rix_off) && rate->idx > mcs_rix_off[i]) {
rix++; i++;
}



2011-04-11 05:30:29

by Mohammed Shafi

[permalink] [raw]
Subject: Re: [ath9k-devel] [PATCH 2/2] ath9k: index out of bounds

On Mon, Apr 11, 2011 at 12:39 AM, roel <[email protected]> wrote:
> Check whether index is within bounds before testing the element
>
> Signed-off-by: Roel Kluin <[email protected]>
> ---
> ?drivers/net/wireless/ath/ath9k/rc.c | ? ?3 +--
> ?1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c
> index 4c0d36a..1809409 100644
> --- a/drivers/net/wireless/ath/ath9k/rc.c
> +++ b/drivers/net/wireless/ath/ath9k/rc.c
> @@ -1092,8 +1092,7 @@ static int ath_rc_get_rateindex(const struct ath_rate_table *rate_table,
> ? ? ? ?if (!(rate->flags & IEEE80211_TX_RC_MCS))
> ? ? ? ? ? ? ? ?return rate->idx;
>
> - ? ? ? while (rate->idx > mcs_rix_off[i] &&
> - ? ? ? ? ? ? ?i < ARRAY_SIZE(mcs_rix_off)) {
> + ? ? ? while (i < ARRAY_SIZE(mcs_rix_off) && rate->idx > mcs_rix_off[i]) {
> ? ? ? ? ? ? ? ?rix++; i++;
> ? ? ? ?}
>
hi,
This looks correct. with the current ath9k rate control, the MCS
index never exceeded 23 and thats why the out of bounds problem never
came.
thanks,
shafi
> _______________________________________________
> ath9k-devel mailing list
> [email protected]
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>