batman-adv: Fix check of retrieved orig_gw in batadv_v_gw_is_eligible
Commit Message
The batadv_v_gw_is_eligible function already assumes that orig_node is not
NULL. But batadv_gw_node_get may have failed to find the originator. It
must therefore be checked whether the batadv_gw_node_get failed and not
whether orig_node is NULL to detect this error.
Fixes: 80b2d47be2c7 ("batman-adv: B.A.T.M.A.N. V - implement GW selection logic")
Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
---
Cc: Antonio Quartulli <a@unstable.cc>
---
net/batman-adv/bat_v.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On 29/11/17 17:50, Sven Eckelmann wrote:
> The batadv_v_gw_is_eligible function already assumes that orig_node is not
> NULL. But batadv_gw_node_get may have failed to find the originator. It
> must therefore be checked whether the batadv_gw_node_get failed and not
> whether orig_node is NULL to detect this error.
>
> Fixes: 80b2d47be2c7 ("batman-adv: B.A.T.M.A.N. V - implement GW selection logic")
> Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
Acked-by: Antonio Quartulli <a@unstable.cc>
On Mittwoch, 29. November 2017 10:50:42 CET Sven Eckelmann wrote:
> The batadv_v_gw_is_eligible function already assumes that orig_node is not
> NULL. But batadv_gw_node_get may have failed to find the originator. It
> must therefore be checked whether the batadv_gw_node_get failed and not
> whether orig_node is NULL to detect this error.
>
> Fixes: 80b2d47be2c7 ("batman-adv: B.A.T.M.A.N. V - implement GW selection logic")
> Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
> ---
> Cc: Antonio Quartulli <a@unstable.cc>
> ---
> net/batman-adv/bat_v.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Applied in c7380677d616 [1]
Kind regards,
Sven
[1] https://git.open-mesh.org/batman-adv.git/commit/c7380677d6167f3798d3ea7a4f1a93663f3c7915
@@ -814,7 +814,7 @@ static bool batadv_v_gw_is_eligible(struct batadv_priv *bat_priv,
}
orig_gw = batadv_gw_node_get(bat_priv, orig_node);
- if (!orig_node)
+ if (!orig_gw)
goto out;
if (batadv_v_gw_throughput_get(orig_gw, &orig_throughput) < 0)