From: Eliad Peller Date: Thu, 24 Nov 2011 16:13:56 +0000 (+0200) Subject: nl80211: fix MAC address validation X-Git-Tag: v2.6.34.14~49 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=42585bfbff9ad0c9c03e47a1989f911a984ce618;p=thirdparty%2Fkernel%2Fstable.git nl80211: fix MAC address validation commit e007b857e88097c96c45620bf3b04a4e309053d1 upstream. MAC addresses have a fixed length. The current policy allows passing < ETH_ALEN bytes, which might result in reading beyond the buffer. Signed-off-by: Eliad Peller Signed-off-by: John W. Linville Signed-off-by: Paul Gortmaker --- diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index fde82a8ac5da2..a316e592376b8 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -76,8 +76,8 @@ static const struct nla_policy nl80211_policy[NL80211_ATTR_MAX+1] = { [NL80211_ATTR_IFINDEX] = { .type = NLA_U32 }, [NL80211_ATTR_IFNAME] = { .type = NLA_NUL_STRING, .len = IFNAMSIZ-1 }, - [NL80211_ATTR_MAC] = { .type = NLA_BINARY, .len = ETH_ALEN }, - [NL80211_ATTR_PREV_BSSID] = { .type = NLA_BINARY, .len = ETH_ALEN }, + [NL80211_ATTR_MAC] = { .len = ETH_ALEN }, + [NL80211_ATTR_PREV_BSSID] = { .len = ETH_ALEN }, [NL80211_ATTR_KEY] = { .type = NLA_NESTED, }, [NL80211_ATTR_KEY_DATA] = { .type = NLA_BINARY,