diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-04-01 09:21:00 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-04-01 17:14:10 -0400 |
commit | 93e5deb1ae39b56f4743955e76c72251256f23c1 (patch) | |
tree | 415d4f11449452822bdd1a97760de67ffd8c452d /net/mac80211/cfg.c | |
parent | 97bff8ecf4e4e26749a67dcfbb7565d8a0f4acb4 (diff) |
mac80211: automatically free sta struct when insertion fails
When STA structure insertion fails, it has been allocated but isn't
really alive yet, it isn't reachable by any other code and also can't
yet have much configured. This patch changes the code so that when
the insertion fails, the resulting STA pointer is no longer valid
because it is freed.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r-- | net/mac80211/cfg.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 6b183a3526b0..fbd462c78e18 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
@@ -672,7 +672,7 @@ static int ieee80211_add_station(struct wiphy *wiphy, struct net_device *dev, | |||
672 | 672 | ||
673 | err = sta_info_insert(sta); | 673 | err = sta_info_insert(sta); |
674 | if (err) { | 674 | if (err) { |
675 | sta_info_destroy(sta); | 675 | /* STA has been freed */ |
676 | rcu_read_unlock(); | 676 | rcu_read_unlock(); |
677 | return err; | 677 | return err; |
678 | } | 678 | } |