summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorBob Copeland <me@bobcopeland.com>2013-11-05 19:16:49 (GMT)
committerJohannes Berg <johannes.berg@intel.com>2013-11-25 19:49:48 (GMT)
commit3cde38e7f3491ea62429556149713b7a875c9ac2 (patch)
tree2173aa3a3f80e82a6578a08c54d4ce8d615193a3 /net
parent1daa37c7ba01bd788148d6a9dc5d6fb491a20931 (diff)
downloadlinux-3cde38e7f3491ea62429556149713b7a875c9ac2.tar.xz
mac80211: fix off-by-one in llid check.
According to IEEE 802.11-2012 (8.4.2.104), no peering management element exists with length 7. This code is checking to see if llid is present to ignore close frames with different llid, which would be IEs with length 8. Signed-off-by: Bob Copeland <bob@cozybit.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/mesh_plink.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c
index 4301aa5..a8c75c1 100644
--- a/net/mac80211/mesh_plink.c
+++ b/net/mac80211/mesh_plink.c
@@ -825,7 +825,7 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata,
event = CLS_ACPT;
else if (sta->plid != plid)
event = CLS_IGNR;
- else if (ie_len == 7 && sta->llid != llid)
+ else if (ie_len == 8 && sta->llid != llid)
event = CLS_IGNR;
else
event = CLS_ACPT;