Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eee6ebba authored by Nick Desaulniers's avatar Nick Desaulniers Committed by Pablo Neira Ayuso
Browse files

netfilter: nf_nat_h323: fix logical-not-parentheses warning



Clang produces the following warning:

net/ipv4/netfilter/nf_nat_h323.c:553:6: error:
logical not is only applied to the left hand side of this comparison
  [-Werror,-Wlogical-not-parentheses]
if (!set_h225_addr(skb, protoff, data, dataoff, taddr,
    ^
add parentheses after the '!' to evaluate the comparison first
add parentheses around left hand side expression to silence this warning

There's not necessarily a bug here, but it's cleaner to return early,
ex:

if (x)
  return
...

rather than:

if (x == 0)
  ...
else
  return

Also added a return code check that seemed to be missing in one
instance.

Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 6b5dc98e
Loading
Loading
Loading
Loading
+30 −27
Original line number Diff line number Diff line
@@ -252,16 +252,16 @@ static int nat_rtp_rtcp(struct sk_buff *skb, struct nf_conn *ct,
	if (set_h245_addr(skb, protoff, data, dataoff, taddr,
			  &ct->tuplehash[!dir].tuple.dst.u3,
			  htons((port & htons(1)) ? nated_port + 1 :
						    nated_port)) == 0) {
		/* Save ports */
		info->rtp_port[i][dir] = rtp_port;
		info->rtp_port[i][!dir] = htons(nated_port);
	} else {
						    nated_port))) {
		nf_ct_unexpect_related(rtp_exp);
		nf_ct_unexpect_related(rtcp_exp);
		return -1;
	}

	/* Save ports */
	info->rtp_port[i][dir] = rtp_port;
	info->rtp_port[i][!dir] = htons(nated_port);

	/* Success */
	pr_debug("nf_nat_h323: expect RTP %pI4:%hu->%pI4:%hu\n",
		 &rtp_exp->tuple.src.u3.ip,
@@ -370,15 +370,15 @@ static int nat_h245(struct sk_buff *skb, struct nf_conn *ct,
	/* Modify signal */
	if (set_h225_addr(skb, protoff, data, dataoff, taddr,
			  &ct->tuplehash[!dir].tuple.dst.u3,
			  htons(nated_port)) == 0) {
		/* Save ports */
		info->sig_port[dir] = port;
		info->sig_port[!dir] = htons(nated_port);
	} else {
			  htons(nated_port))) {
		nf_ct_unexpect_related(exp);
		return -1;
	}

	/* Save ports */
	info->sig_port[dir] = port;
	info->sig_port[!dir] = htons(nated_port);

	pr_debug("nf_nat_q931: expect H.245 %pI4:%hu->%pI4:%hu\n",
		 &exp->tuple.src.u3.ip,
		 ntohs(exp->tuple.src.u.tcp.port),
@@ -462,7 +462,11 @@ static int nat_q931(struct sk_buff *skb, struct nf_conn *ct,
	/* Modify signal */
	if (set_h225_addr(skb, protoff, data, 0, &taddr[idx],
			  &ct->tuplehash[!dir].tuple.dst.u3,
			  htons(nated_port)) == 0) {
			  htons(nated_port))) {
		nf_ct_unexpect_related(exp);
		return -1;
	}

	/* Save ports */
	info->sig_port[dir] = port;
	info->sig_port[!dir] = htons(nated_port);
@@ -471,14 +475,13 @@ static int nat_q931(struct sk_buff *skb, struct nf_conn *ct,
	if (idx > 0 &&
	    get_h225_addr(ct, *data, &taddr[0], &addr, &port) &&
	    (ntohl(addr.ip) & 0xff000000) == 0x7f000000) {
			set_h225_addr(skb, protoff, data, 0, &taddr[0],
		if (set_h225_addr(skb, protoff, data, 0, &taddr[0],
				  &ct->tuplehash[!dir].tuple.dst.u3,
				      info->sig_port[!dir]);
		}
	} else {
				  info->sig_port[!dir])) {
			nf_ct_unexpect_related(exp);
			return -1;
		}
	}

	/* Success */
	pr_debug("nf_nat_ras: expect Q.931 %pI4:%hu->%pI4:%hu\n",
@@ -550,9 +553,9 @@ static int nat_callforwarding(struct sk_buff *skb, struct nf_conn *ct,
	}

	/* Modify signal */
	if (!set_h225_addr(skb, protoff, data, dataoff, taddr,
	if (set_h225_addr(skb, protoff, data, dataoff, taddr,
			  &ct->tuplehash[!dir].tuple.dst.u3,
			   htons(nated_port)) == 0) {
			  htons(nated_port))) {
		nf_ct_unexpect_related(exp);
		return -1;
	}