[v2,next] batman-adv: fix NULL pointer dereferences

Message ID 1398282086-3648-1-git-send-email-mareklindner@neomailbox.ch (mailing list archive)
State Accepted, archived
Headers

Commit Message

Marek Lindner April 23, 2014, 7:41 p.m. UTC
  Reported-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
---

Changes from v1:
- add next branch indication

 multicast.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Comments

Antonio Quartulli April 24, 2014, noon UTC | #1
On 23/04/14 21:41, Marek Lindner wrote:
> Reported-by: Sven Eckelmann <sven@narfation.org>
> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>

I sent the ACK for v1, but it is valid for this version as well.
  
Linus Lüssing May 2, 2014, 4:52 a.m. UTC | #2
Signed-off-by: Linus Lüssing <linus.luessing@web.de>


On Thu, Apr 24, 2014 at 03:41:26AM +0800, Marek Lindner wrote:
> Reported-by: Sven Eckelmann <sven@narfation.org>
> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
> ---
> 
> Changes from v1:
> - add next branch indication
> 
>  multicast.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/multicast.c b/multicast.c
> index 8c7ca81..96b66fd 100644
> --- a/multicast.c
> +++ b/multicast.c
> @@ -415,7 +415,7 @@ batadv_mcast_forw_ipv4_node_get(struct batadv_priv *bat_priv)
>  	hlist_for_each_entry_rcu(tmp_orig_node,
>  				 &bat_priv->mcast.want_all_ipv4_list,
>  				 mcast_want_all_ipv4_node) {
> -		if (!atomic_inc_not_zero(&orig_node->refcount))
> +		if (!atomic_inc_not_zero(&tmp_orig_node->refcount))
>  			continue;
>  
>  		orig_node = tmp_orig_node;
> @@ -442,7 +442,7 @@ batadv_mcast_forw_ipv6_node_get(struct batadv_priv *bat_priv)
>  	hlist_for_each_entry_rcu(tmp_orig_node,
>  				 &bat_priv->mcast.want_all_ipv6_list,
>  				 mcast_want_all_ipv6_node) {
> -		if (!atomic_inc_not_zero(&orig_node->refcount))
> +		if (!atomic_inc_not_zero(&tmp_orig_node->refcount))
>  			continue;
>  
>  		orig_node = tmp_orig_node;
> @@ -493,7 +493,7 @@ batadv_mcast_forw_unsnoop_node_get(struct batadv_priv *bat_priv)
>  	hlist_for_each_entry_rcu(tmp_orig_node,
>  				 &bat_priv->mcast.want_all_unsnoopables_list,
>  				 mcast_want_all_unsnoopables_node) {
> -		if (!atomic_inc_not_zero(&orig_node->refcount))
> +		if (!atomic_inc_not_zero(&tmp_orig_node->refcount))
>  			continue;
>  
>  		orig_node = tmp_orig_node;
> -- 
> 2.0.0.rc0
>
  
Marek Lindner May 2, 2014, 5:11 a.m. UTC | #3
On Thursday 24 April 2014 03:41:26 Marek Lindner wrote:
> Reported-by: Sven Eckelmann <sven@narfation.org>
> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
> ---
> 
> Changes from v1:
> - add next branch indication
> 
>  multicast.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Applied in revision be45ab5.

Regards,
Marek
  

Patch

diff --git a/multicast.c b/multicast.c
index 8c7ca81..96b66fd 100644
--- a/multicast.c
+++ b/multicast.c
@@ -415,7 +415,7 @@  batadv_mcast_forw_ipv4_node_get(struct batadv_priv *bat_priv)
 	hlist_for_each_entry_rcu(tmp_orig_node,
 				 &bat_priv->mcast.want_all_ipv4_list,
 				 mcast_want_all_ipv4_node) {
-		if (!atomic_inc_not_zero(&orig_node->refcount))
+		if (!atomic_inc_not_zero(&tmp_orig_node->refcount))
 			continue;
 
 		orig_node = tmp_orig_node;
@@ -442,7 +442,7 @@  batadv_mcast_forw_ipv6_node_get(struct batadv_priv *bat_priv)
 	hlist_for_each_entry_rcu(tmp_orig_node,
 				 &bat_priv->mcast.want_all_ipv6_list,
 				 mcast_want_all_ipv6_node) {
-		if (!atomic_inc_not_zero(&orig_node->refcount))
+		if (!atomic_inc_not_zero(&tmp_orig_node->refcount))
 			continue;
 
 		orig_node = tmp_orig_node;
@@ -493,7 +493,7 @@  batadv_mcast_forw_unsnoop_node_get(struct batadv_priv *bat_priv)
 	hlist_for_each_entry_rcu(tmp_orig_node,
 				 &bat_priv->mcast.want_all_unsnoopables_list,
 				 mcast_want_all_unsnoopables_node) {
-		if (!atomic_inc_not_zero(&orig_node->refcount))
+		if (!atomic_inc_not_zero(&tmp_orig_node->refcount))
 			continue;
 
 		orig_node = tmp_orig_node;