Subject: Re: Fw: [Bug 84061] New: net/batman-adv/gateway_client.c:813: missing sanity check and dodgy coding ?

From: Antonio Quartulli <[email-masked]>
Date: Tue, 09 Sep 2014 17:02:52 +0200

forwarding to the batman-adv mailing list and commenting inline.

On 09/09/14 02:30, Stephen Hemminger wrote:
> 
> 
> Begin forwarded message:
> 
> Date: Mon, 8 Sep 2014 00:04:40 -0700
> From: "[email-masked]" <[email-masked]>
> To: "[email-masked]" <[email-masked]>
> Subject: [Bug 84061] New: net/batman-adv/gateway_client.c:813: missing sanity check and dodgy coding ?
> 
> 
> https://bugzilla.kernel.org/show_bug.cgi?id=84061
> 
>             Bug ID: 84061
>            Summary: net/batman-adv/gateway_client.c:813: missing sanity
>                     check and dodgy coding ?
>            Product: Networking
>            Version: 2.5
>     Kernel Version: 3.17-rc4
>           Hardware: All
>                 OS: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: Other
>           Assignee: [email-masked]
>           Reporter: [email-masked]
>         Regression: No
> 
> net/batman-adv/gateway_client.c:813:31: warning: logical not is only applied to
> the left hand side of comparison [-Wlogical-not-parentheses]
> 
>     gw_node = batadv_gw_node_get(bat_priv, orig_dst_node);
>     if (!gw_node->bandwidth_down == 0)
>         goto out;

I think this was meant to be:

if (!gw_node || (gw_node->bandwidth_down == 0))

> 
> Function batadv_gw_node_get can return NULL, so there's
> a missing sanity check there and maybe the if condition
> can be reworked for clarity.
> 

-- 
Antonio Quartulli