diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-08-24 06:15:53 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-25 14:34:56 -0400 |
commit | 74b70a4e38d542843fccfb367dce1ac861cc3890 (patch) | |
tree | 8bfd236b1daede68637c6238c7c9cb813dfa82f2 /net/wireless/nl80211.c | |
parent | f8d8b7a13d3d61f99bf3dc5c9650f87f9818d7a7 (diff) |
nl80211: fix missing nesting
commit 95a6ccbb46c70cff376684c752831c014c87029d
Author: Johannes Berg <johannes.berg@intel.com>
Date: Thu Aug 12 15:38:38 2010 +0200
cfg80211/mac80211: extensible frame processing
introduced a netlink bug that caused parsing errors
in userspace because it forgot to close a nesting,
which would advertise a nesting length of zero to
userspace, which then completely threw off parsing
and led to
Illegal nla->nla_type == 0
being printed by libnl.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r-- | net/wireless/nl80211.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 927ffbd2aebc..49f5ca35e787 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -636,6 +636,8 @@ static int nl80211_send_wiphy(struct sk_buff *msg, u32 pid, u32 seq, int flags, | |||
636 | nla_nest_end(msg, nl_ftypes); | 636 | nla_nest_end(msg, nl_ftypes); |
637 | } | 637 | } |
638 | 638 | ||
639 | nla_nest_end(msg, nl_ifs); | ||
640 | |||
639 | nl_ifs = nla_nest_start(msg, NL80211_ATTR_RX_FRAME_TYPES); | 641 | nl_ifs = nla_nest_start(msg, NL80211_ATTR_RX_FRAME_TYPES); |
640 | if (!nl_ifs) | 642 | if (!nl_ifs) |
641 | goto nla_put_failure; | 643 | goto nla_put_failure; |