diff options
author | Martin Hundebøll <martin@hundeboll.net> | 2013-04-17 15:13:16 -0400 |
---|---|---|
committer | Antonio Quartulli <ordex@autistici.org> | 2013-05-21 15:34:36 -0400 |
commit | f69ae770e74df420fbcf93aae81b30a5dcc73b7d (patch) | |
tree | 366080c1947e6650815e56c45f6ba53fe12a1cad /net/batman-adv/soft-interface.c | |
parent | 3ccfc1b1d2fa78f8ece83646027982916fcc794b (diff) |
batman-adv: Avoid double freeing of bat_counters
On errors in batadv_mesh_init(), bat_counters will be freed in both
batadv_mesh_free() and batadv_softif_init_late(). This patch fixes this
by returning earlier from batadv_softif_init_late() in case of errors in
batadv_mesh_init() and by setting bat_counters to NULL after freeing.
Signed-off-by: Martin Hundebøll <martin@hundeboll.net>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Diffstat (limited to 'net/batman-adv/soft-interface.c')
-rw-r--r-- | net/batman-adv/soft-interface.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c index 6f20d339e33a..819dfb006cdf 100644 --- a/net/batman-adv/soft-interface.c +++ b/net/batman-adv/soft-interface.c | |||
@@ -505,6 +505,7 @@ unreg_debugfs: | |||
505 | batadv_debugfs_del_meshif(dev); | 505 | batadv_debugfs_del_meshif(dev); |
506 | free_bat_counters: | 506 | free_bat_counters: |
507 | free_percpu(bat_priv->bat_counters); | 507 | free_percpu(bat_priv->bat_counters); |
508 | bat_priv->bat_counters = NULL; | ||
508 | 509 | ||
509 | return ret; | 510 | return ret; |
510 | } | 511 | } |