diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2009-03-24 21:21:08 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-04-16 10:39:01 -0400 |
commit | 0ad8acaf434d360ad99813d981a68e605d6c8179 (patch) | |
tree | 311bc4421afe8fc60b218bbe18a8cce0efdaf29f /net | |
parent | 3664090e199f10cb0282097faae8f8ca58c1e4ae (diff) | |
download | linux-3.10-0ad8acaf434d360ad99813d981a68e605d6c8179.tar.gz linux-3.10-0ad8acaf434d360ad99813d981a68e605d6c8179.tar.bz2 linux-3.10-0ad8acaf434d360ad99813d981a68e605d6c8179.zip |
cfg80211: fix NULL pointer deference in reg_device_remove()
We won't ever get here as regulatory_hint_core() can only fail
on -ENOMEM and in that case we don't initialize cfg80211 but this is
technically correct code.
This is actually good for stable, where we don't check for -ENOMEM
failure on __regulatory_hint()'s failure.
Cc: stable@kernel.org
Reported-by: Quentin Armitage <Quentin@armitage.org.uk>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/wireless/reg.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 6327e1617ac..6c1993d9990 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -2095,11 +2095,12 @@ int set_regdom(const struct ieee80211_regdomain *rd) /* Caller must hold cfg80211_mutex */ void reg_device_remove(struct wiphy *wiphy) { - struct wiphy *request_wiphy; + struct wiphy *request_wiphy = NULL; assert_cfg80211_lock(); - request_wiphy = wiphy_idx_to_wiphy(last_request->wiphy_idx); + if (last_request) + request_wiphy = wiphy_idx_to_wiphy(last_request->wiphy_idx); kfree(wiphy->regd); if (!last_request || !request_wiphy) |