diff options
author | Cyrill Gorcunov <gorcunov@gmail.com> | 2007-12-13 16:17:03 -0800 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-12-19 16:43:47 -0800 |
commit | 20880e8936e467fe30d79aa838c8d24b7073648f (patch) | |
tree | a4f0b2de724ee3610414459b1072149cd2386598 /net/mac80211/ieee80211_rate.c | |
parent | 3333590e94262aebb5d0fb767cc7ed8b2359705c (diff) | |
download | lwn-20880e8936e467fe30d79aa838c8d24b7073648f.tar.gz lwn-20880e8936e467fe30d79aa838c8d24b7073648f.zip |
NET: mac80211: fix inappropriate memory freeing
Fix inappropriate memory freeing in case of requested rate_control_ops was
not found. In this case the list head entity is going to be accidentally
wasted.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Acked-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_rate.c')
-rw-r--r-- | net/mac80211/ieee80211_rate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/ieee80211_rate.c b/net/mac80211/ieee80211_rate.c index 3260a4a0ecc5..c3f278393741 100644 --- a/net/mac80211/ieee80211_rate.c +++ b/net/mac80211/ieee80211_rate.c @@ -60,11 +60,11 @@ void ieee80211_rate_control_unregister(struct rate_control_ops *ops) list_for_each_entry(alg, &rate_ctrl_algs, list) { if (alg->ops == ops) { list_del(&alg->list); + kfree(alg); break; } } mutex_unlock(&rate_ctrl_mutex); - kfree(alg); } EXPORT_SYMBOL(ieee80211_rate_control_unregister); |