diff options
| author | Arunk Khandavalli <akhandav@codeaurora.org> | 2018-08-30 00:40:16 +0300 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2019-05-03 19:24:03 +0200 |
| commit | 0354299fb1090439092e72a4e3de3e07358c4624 (patch) | |
| tree | 4349633f35d4b047932fd52cb3b148c003166606 /net/wireless | |
| parent | d7c91acd0aaa76d965281eb4a0ecafc0d0476c89 (diff) | |
cfg80211: nl80211_update_ft_ies() to validate NL80211_ATTR_IE
commit 4f0223bfe9c3e62d8f45a85f1ef1b18a8a263ef9 upstream.
nl80211_update_ft_ies() tried to validate NL80211_ATTR_IE with
is_valid_ie_attr() before dereferencing it, but that helper function
returns true in case of NULL pointer (i.e., attribute not included).
This can result to dereferencing a NULL pointer. Fix that by explicitly
checking that NL80211_ATTR_IE is included.
Fixes: 355199e02b83 ("cfg80211: Extend support for IEEE 802.11r Fast BSS Transition")
Change-Id: Ie7ac476919af2ef4d38ff04b8519ad9bdc5e9ed8
Signed-off-by: Arunk Khandavalli <akhandav@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'net/wireless')
| -rw-r--r-- | net/wireless/nl80211.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 85619fa26..7db8cc634 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -8360,6 +8360,7 @@ static int nl80211_update_ft_ies(struct sk_buff *skb, struct genl_info *info) return -EOPNOTSUPP; if (!info->attrs[NL80211_ATTR_MDID] || + !info->attrs[NL80211_ATTR_IE] || !is_valid_ie_attr(info->attrs[NL80211_ATTR_IE])) return -EINVAL; |
