diff options
author | Johannes Berg <johannes.berg@intel.com> | 2017-04-27 14:19:04 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2017-05-08 12:25:04 +0300 |
commit | f1f3e9e2a50a70de908f9dfe0d870e9cdc67e042 (patch) | |
tree | 5104b9a107d333692b1bdb167f6623fa68e25953 /net/mac80211/ibss.c | |
parent | 4954601f821bb5afd4dd59b57bf801adf4924bbd (diff) | |
download | linux-f1f3e9e2a50a70de908f9dfe0d870e9cdc67e042.tar.xz |
mac80211: fix IBSS presp allocation size
When VHT IBSS support was added, the size of the extra elements
wasn't considered in ieee80211_ibss_build_presp(), which makes
it possible that it would overrun the allocated buffer. Fix it
by allocating the necessary space.
Fixes: abcff6ef01f9 ("mac80211: add VHT support for IBSS")
Reported-by: Shaul Triebitz <shaul.triebitz@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/ibss.c')
-rw-r--r-- | net/mac80211/ibss.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index 6db09fa18269..364d4e137649 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -66,6 +66,8 @@ ieee80211_ibss_build_presp(struct ieee80211_sub_if_data *sdata, 2 + (IEEE80211_MAX_SUPP_RATES - 8) + 2 + sizeof(struct ieee80211_ht_cap) + 2 + sizeof(struct ieee80211_ht_operation) + + 2 + sizeof(struct ieee80211_vht_cap) + + 2 + sizeof(struct ieee80211_vht_operation) + ifibss->ie_len; presp = kzalloc(sizeof(*presp) + frame_len, GFP_KERNEL); if (!presp) |