Repository : ssh://git@open-mesh.org/batman-adv
On branch : maint
commit cb2b79e4dfd215cc53f3cd55afb15a6b69e5bcfc Author: Antonio Quartulli antonio@meshcoding.com Date: Sat Sep 20 18:22:05 2014 +0200
batman-adv: avoid NULL dereferences and fix if check
Gateway having bandwidth_down equal to zero are not accepted at all and so never added to the Gateway list. For this reason checking the bandwidth_down member in batadv_gw_out_of_range() is useless.
This is probably a copy/paste error and this check was supposed to be "!gw_node" only. Moreover, the way the check is written now may also lead to a NULL dereference.
Fix this by rewriting the if-condition properly.
Introduced by 0853ec7fafe0a195754454832993c6b35e22b842 ("batman-adv: tvlv - gateway download/upload bandwidth container")
Signed-off-by: Antonio Quartulli antonio@meshcoding.com Reported-by: David Binderman dcb314@hotmail.com Signed-off-by: Marek Lindner mareklindner@neomailbox.ch
cb2b79e4dfd215cc53f3cd55afb15a6b69e5bcfc gateway_client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gateway_client.c b/gateway_client.c index 90cff58..e0bcf9e 100644 --- a/gateway_client.c +++ b/gateway_client.c @@ -810,7 +810,7 @@ bool batadv_gw_out_of_range(struct batadv_priv *bat_priv, goto out;
gw_node = batadv_gw_node_get(bat_priv, orig_dst_node); - if (!gw_node->bandwidth_down == 0) + if (!gw_node) goto out;
switch (atomic_read(&bat_priv->gw_mode)) {