Patchwork [ipset] Fix wrong bracket placing

login
register
mail settings
Submitter Jozsef Kadlecsik
Date Jan. 9, 2013, 10:40 p.m.
Message ID <alpine.DEB.2.00.1301092225080.9826@blackhole.kfki.hu>
Download mbox | patch
Permalink /patch/210886/
State Accepted
Headers show

Comments

Jozsef Kadlecsik - Jan. 9, 2013, 10:40 p.m.
Hi Thomas,

On Thu, 27 Dec 2012, Thomas Jarosch wrote:

> cppcheck (vaguely) reported:
> [lib/parse.c:448]: (style) Suspicious condition (assignment + comparison); Clarify expression with parentheses.
> 
> Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
> ---
>  lib/parse.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/parse.c b/lib/parse.c
> index 550048c..d06e9cd 100644
> --- a/lib/parse.c
> +++ b/lib/parse.c
> @@ -445,8 +445,8 @@ ipset_parse_proto(struct ipset_session *session,
>  		uint8_t protonum;
>  		int err;
>  
> -		if (!((err = string_to_u8(session, str, &protonum) == 0) &&
> -		      (protoent = getprotobynumber(protonum)) != NULL))
> +		if (!((err = string_to_u8(session, str, &protonum)) == 0) &&
> +		      (protoent = getprotobynumber(protonum)) != NULL)
>  			return syntax_err("cannot parse '%s' "
>  					  "as a protocol", str);
>  	}
> -- 
> 1.7.11.7
> 

Your patch fixes the warning but modifies the condition. So I simplified 
the condition and am going to apply the next patch:


Best regards,
Jozsef
-
E-mail  : kadlec@blackhole.kfki.hu, kadlecsik.jozsef@wigner.mta.hu
PGP key : http://www.kfki.hu/~kadlec/pgp_public_key.txt
Address : Wigner Research Centre for Physics, Hungarian Academy of Sciences
          H-1525 Budapest 114, POB. 49, Hungary
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/lib/parse.c b/lib/parse.c
index 550048c..951d2f3 100644
--- a/lib/parse.c
+++ b/lib/parse.c
@@ -442,11 +442,10 @@  ipset_parse_proto(struct ipset_session *session,
        protoent = getprotobyname(strcasecmp(str, "icmpv6") == 0
                                  ? "ipv6-icmp" : str);
        if (protoent == NULL) {
-               uint8_t protonum;
-               int err;
+               uint8_t protonum = 0;
 
-               if (!((err = string_to_u8(session, str, &protonum) == 0) &&
-                     (protoent = getprotobynumber(protonum)) != NULL))
+               if (string_to_u8(session, str, &protonum) ||
+                   (protoent = getprotobynumber(protonum)) == NULL)
                        return syntax_err("cannot parse '%s' "
                                          "as a protocol", str);
        }