Skip to contentSkip to conversation

batman-adv: avoid NULL dereferences and fix if check

PATCH Applied Antonio Quartulli 2 participants 2 messages Sep 20, 2014 – Nov 17, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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")

---

This patch makes "batman-adv: avoid NULL dereferences and clarify if check" obsolete.

 gateway_client.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
gateway_client.c +1 -1
index bcc3e0c..27649e8 100644
@@ -811,7 +811,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)) {
Signature · 1 line
1.8.5.5
#1 lore raw
Quoted 16 lines · On Saturday 20 September 2014 18:22:05 Antonio Quartulli wrote:

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")

Quoted 8 lines

---

This patch makes "batman-adv: avoid NULL dereferences and clarify if check" obsolete.

 gateway_client.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied in revision cb2b79e.

Thanks,
Marek