Commit c121514d authored by Johannes Berg's avatar Johannes Berg

wifi: ieee80211: fix ieee80211_mle_basic_sta_prof_size_ok()

If there was a possibility of an MLE basic STA profile without
subelements, we might reject it because we account for the one
octet for sta_info_len twice (it's part of itself, and in the
fixed portion). Like in ieee80211_mle_reconf_sta_prof_size_ok,
subtract 1 to adjust that.

When reading the elements we did take this into account, and
since there are always elements, this never really mattered.

Fixes: 7b6f0877 ("wifi: ieee80211: Support validating ML station profile length")
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Reviewed-by: default avatarIlan Peer <ilan.peer@intel.com>
Signed-off-by: default avatarMiri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240318184907.00bb0b20ed60.I8c41dd6fc14c4b187ab901dea15ade73c79fb98c@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent b7793a1a
...@@ -5302,7 +5302,7 @@ static inline bool ieee80211_mle_basic_sta_prof_size_ok(const u8 *data, ...@@ -5302,7 +5302,7 @@ static inline bool ieee80211_mle_basic_sta_prof_size_ok(const u8 *data,
info_len += 1; info_len += 1;
return prof->sta_info_len >= info_len && return prof->sta_info_len >= info_len &&
fixed + prof->sta_info_len <= len; fixed + prof->sta_info_len - 1 <= len;
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment