Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b4c35c17 authored by Dan Carpenter's avatar Dan Carpenter Committed by Kalle Valo
Browse files

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: cbf6e055 ("mwifiex: add rx histogram statistics support")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 0c7beb2d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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;
}