diff options
author | John W. Linville <linville@tuxdriver.com> | 2010-01-22 18:33:09 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-01-22 18:39:14 +0100 |
commit | e4fca007b06165900d0e44e8d5e251376819bf5d (patch) | |
tree | 3abf108c8ff0ab50de3875bd1dd5b05454e30f98 | |
parent | libertas/assoc.c: rearrange some strange line breaks (diff) | |
download | linux-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.c | 5 |
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)) |