cfg80211: nl80211_update_ft_ies() to validate NL80211_ATTR_IE
authorArunk Khandavalli <akhandav@codeaurora.org>
Wed, 29 Aug 2018 21:40:16 +0000 (00:40 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 30 Aug 2018 07:58:21 +0000 (09:58 +0200)
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")
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>
net/wireless/nl80211.c

index ce0149a86c1394c3ae796949fe65e77d77bd2794..733ccf8679728d091d0aeacc3aada4abc8318d12 100644 (file)
@@ -12099,6 +12099,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;