mac80211: validate TIM IE length (redux)
authorJohannes Berg <johannes@sipsolutions.net>
Sat, 18 Apr 2009 15:33:24 +0000 (17:33 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 22 Apr 2009 20:57:18 +0000 (16:57 -0400)
commite7ec86f54e519e8e86f1cf328db13263f3ef8bd4
tree2b0a66930abf4ac710cc15120195c9259a0fcaba
parentba44cb7226afd4e19308c1d8a90e8b7c566c0d8b
mac80211: validate TIM IE length (redux)

The TIM IE must not be shorter than 4 bytes, so verify that
when parsing it and use the proper type. To ease that adjust
struct ieee80211_tim_ie to have a virtual bitmap of size
at least 1.

Also check that the TIM IE is actually present before trying
to parse it!

Because other people may need the function, make it a static
inline in ieee80211.h.

(The original "mac80211: validate TIM IE length" was a minimal fix for
2.6.30.  This purports to be the full, correct fix. -- JWL)

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
include/linux/ieee80211.h
net/mac80211/ieee80211_i.h
net/mac80211/mlme.c
net/mac80211/util.c