diff options
author | Marek Lindner <mareklindner@neomailbox.ch> | 2014-04-23 15:41:26 -0400 |
---|---|---|
committer | Antonio Quartulli <antonio@meshcoding.com> | 2014-05-31 04:07:14 -0400 |
commit | af0a171c07174661db71f92e442d4e6e90984b77 (patch) | |
tree | 059ba02a4e56c119d0e93a93088caa66d938c7e2 /net | |
parent | 554215c5ca08d196ed48a66693e7fc6e5f81f00e (diff) |
batman-adv: fix NULL pointer dereferences
Was introduced with 4c8755d69cbde2ec464a39c932aed0a83f9ff89f
("batman-adv: Send multicast packets to nodes with a WANT_ALL flag")
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: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/batman-adv/multicast.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/batman-adv/multicast.c b/net/batman-adv/multicast.c index 8c7ca811de6e..96b66fd30f96 100644 --- a/net/batman-adv/multicast.c +++ b/net/batman-adv/multicast.c | |||
@@ -415,7 +415,7 @@ batadv_mcast_forw_ipv4_node_get(struct batadv_priv *bat_priv) | |||
415 | hlist_for_each_entry_rcu(tmp_orig_node, | 415 | hlist_for_each_entry_rcu(tmp_orig_node, |
416 | &bat_priv->mcast.want_all_ipv4_list, | 416 | &bat_priv->mcast.want_all_ipv4_list, |
417 | mcast_want_all_ipv4_node) { | 417 | mcast_want_all_ipv4_node) { |
418 | if (!atomic_inc_not_zero(&orig_node->refcount)) | 418 | if (!atomic_inc_not_zero(&tmp_orig_node->refcount)) |
419 | continue; | 419 | continue; |
420 | 420 | ||
421 | orig_node = tmp_orig_node; | 421 | orig_node = tmp_orig_node; |
@@ -442,7 +442,7 @@ batadv_mcast_forw_ipv6_node_get(struct batadv_priv *bat_priv) | |||
442 | hlist_for_each_entry_rcu(tmp_orig_node, | 442 | hlist_for_each_entry_rcu(tmp_orig_node, |
443 | &bat_priv->mcast.want_all_ipv6_list, | 443 | &bat_priv->mcast.want_all_ipv6_list, |
444 | mcast_want_all_ipv6_node) { | 444 | mcast_want_all_ipv6_node) { |
445 | if (!atomic_inc_not_zero(&orig_node->refcount)) | 445 | if (!atomic_inc_not_zero(&tmp_orig_node->refcount)) |
446 | continue; | 446 | continue; |
447 | 447 | ||
448 | orig_node = tmp_orig_node; | 448 | orig_node = tmp_orig_node; |
@@ -493,7 +493,7 @@ batadv_mcast_forw_unsnoop_node_get(struct batadv_priv *bat_priv) | |||
493 | hlist_for_each_entry_rcu(tmp_orig_node, | 493 | hlist_for_each_entry_rcu(tmp_orig_node, |
494 | &bat_priv->mcast.want_all_unsnoopables_list, | 494 | &bat_priv->mcast.want_all_unsnoopables_list, |
495 | mcast_want_all_unsnoopables_node) { | 495 | mcast_want_all_unsnoopables_node) { |
496 | if (!atomic_inc_not_zero(&orig_node->refcount)) | 496 | if (!atomic_inc_not_zero(&tmp_orig_node->refcount)) |
497 | continue; | 497 | continue; |
498 | 498 | ||
499 | orig_node = tmp_orig_node; | 499 | orig_node = tmp_orig_node; |