mwifiex: prevent an array overflow
The "rate_index" is only used as an index into the phist_data->rx_rate[]
array in the mwifiex_hist_data_set() function. That array has
MWIFIEX_MAX_AC_RX_RATES (74) elements and it's used to generate some
debugfs information. The "rate_index" variable comes from the network
skb->data[] and it is a u8 so it's in the 0-255 range. We need to cap
it to prevent an array overflow.
Fixes: cbf6e05527
("mwifiex: add rx histogram statistics support")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
hifive-unleashed-5.2
parent
0c7beb2db9
commit
b4c35c1722
|
@ -531,5 +531,8 @@ u8 mwifiex_adjust_data_rate(struct mwifiex_private *priv,
|
|||
rate_index = (rx_rate > MWIFIEX_RATE_INDEX_OFDM0) ?
|
||||
rx_rate - 1 : rx_rate;
|
||||
|
||||
if (rate_index >= MWIFIEX_MAX_AC_RX_RATES)
|
||||
rate_index = MWIFIEX_MAX_AC_RX_RATES - 1;
|
||||
|
||||
return rate_index;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue