batman-adv: fix indirect hard_iface NULL dereference
authorMarek Lindner <mareklindner@neomailbox.ch>
Wed, 23 Apr 2014 19:44:25 +0000 (03:44 +0800)
committerAntonio Quartulli <antonio@meshcoding.com>
Thu, 15 May 2014 18:03:16 +0000 (20:03 +0200)
If hard_iface is NULL and goto out is made batadv_hardif_free_ref()
doesn't check for NULL before dereferencing it to get to refcount.

Introduced in cb1c92ec37fb70543d133a1fa7d9b54d6f8a1ecd
("batman-adv: add debugfs support to view multiif tables").

Reported-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Acked-by: Antonio Quartulli <antonio@meshcoding.com>
Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
net/batman-adv/originator.c

index 1785da37b82ce017a3e33e396f7dd39863245471..6a484514cd3e98b9e0b27a924b4dcb92f2682055 100644 (file)
@@ -1079,7 +1079,8 @@ int batadv_orig_hardif_seq_print_text(struct seq_file *seq, void *offset)
        bat_priv->bat_algo_ops->bat_orig_print(bat_priv, seq, hard_iface);
 
 out:
-       batadv_hardif_free_ref(hard_iface);
+       if (hard_iface)
+               batadv_hardif_free_ref(hard_iface);
        return 0;
 }