summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2010-01-22 18:33:09 +0100
committerJohn W. Linville <linville@tuxdriver.com>2010-01-22 18:39:14 +0100
commite4fca007b06165900d0e44e8d5e251376819bf5d (patch)
tree3abf108c8ff0ab50de3875bd1dd5b05454e30f98
parentlibertas/assoc.c: rearrange some strange line breaks (diff)
downloadlinux-e4fca007b06165900d0e44e8d5e251376819bf5d.tar.xz
linux-e4fca007b06165900d0e44e8d5e251376819bf5d.zip
mac80211: avoid NULL ptr deref when using WEP
"mac80211: move control.hw_key assignment" changed an if-else into two separate if statments, but the if-else is needed to prevent dereferencing a null info->control.hw_key. This fixes avoids a lock-up during association on my machine when using WEP. Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--net/mac80211/wep.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/net/mac80211/wep.c b/net/mac80211/wep.c
index 0a4c641c9605..5d745f2d7236 100644
--- a/net/mac80211/wep.c
+++ b/net/mac80211/wep.c
@@ -310,9 +310,8 @@ static int wep_encrypt_skb(struct ieee80211_tx_data *tx, struct sk_buff *skb)
tx->key->conf.keylen,
tx->key->conf.keyidx))
return -1;
- }
-
- if (info->control.hw_key->flags & IEEE80211_KEY_FLAG_GENERATE_IV) {
+ } else if (info->control.hw_key->flags &
+ IEEE80211_KEY_FLAG_GENERATE_IV) {
if (!ieee80211_wep_add_iv(tx->local, skb,
tx->key->conf.keylen,
tx->key->conf.keyidx))