Acked-by: Ankur Sharma <ankur.sha...@nutanix.com>

Regards,
Ankur
________________________________
From: dev <ovs-dev-boun...@openvswitch.org> on behalf of Ihar Hrachyshka 
<ihrac...@redhat.com>
Sent: Tuesday, May 19, 2020 3:12 PM
To: d...@openvswitch.org <d...@openvswitch.org>
Subject: [ovs-dev] [PATCH ovn] Don't leak values other than 1 or 0 as bool 
return values on C89 compiler

While the code base makes use of bool type defined in C99, we don't assume C99
semantics for integer or pointer conversions to bool. (This is explained in the
project coding style guide.) In C89 environments, it's important to normalize
bool variables and returned values to 1 | 0 to avoid issues down the line.

This patch updates all functions in the tree that return bool values and that
could, in degenerate cases, return bools set to values different from 1 | 0.

Signed-off-by: Ihar Hrachyshka <ihrac...@redhat.com>
---
 controller/pinctrl.c | 6 +++---
 ic/ovn-ic.c          | 2 +-
 lib/ovn-util.c       | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/controller/pinctrl.c b/controller/pinctrl.c
index bea446c89..18b5c68dd 100644
--- a/controller/pinctrl.c
+++ b/controller/pinctrl.c
@@ -1674,7 +1674,7 @@ pinctrl_handle_tcp_reset(struct rconn *swconn, const 
struct flow *ip_flow,
 static bool
 is_dhcp_flags_broadcast(ovs_be16 flags)
 {
-    return flags & htons(DHCP_BROADCAST_FLAG);
+    return !!(flags & htons(DHCP_BROADCAST_FLAG));
 }

 /* Called with in the pinctrl_handler thread context. */
@@ -4606,7 +4606,7 @@ pinctrl_ip_mcast_handle_igmp(struct ip_mcast_snoop *ip_ms,
         break;
     }
     ovs_rwlock_unlock(&ip_ms->ms->rwlock);
-    return group_change;
+    return !!group_change;
 }

 static bool
@@ -4654,7 +4654,7 @@ pinctrl_ip_mcast_handle_mld(struct ip_mcast_snoop *ip_ms,
         break;
     }
     ovs_rwlock_unlock(&ip_ms->ms->rwlock);
-    return group_change;
+    return !!group_change;
 }

 static void
diff --git a/ic/ovn-ic.c b/ic/ovn-ic.c
index a1ed25623..9e7ceaf98 100644
--- a/ic/ovn-ic.c
+++ b/ic/ovn-ic.c
@@ -525,7 +525,7 @@ get_router_uuid_by_sb_pb(struct ic_context *ctx,
 {
     const struct sbrec_port_binding *router_pb = find_peer_port(ctx, sb_pb);
     if (!router_pb || !router_pb->datapath) {
-        return NULL;
+        return false;
     }

     return smap_get_uuid(&router_pb->datapath->external_ids, "logical-router",
diff --git a/lib/ovn-util.c b/lib/ovn-util.c
index 3482edb8d..10345b012 100644
--- a/lib/ovn-util.c
+++ b/lib/ovn-util.c
@@ -210,7 +210,7 @@ extract_ip_addresses(const char *address, struct 
lport_addresses *laddrs)
 {
     int ofs;
     if (parse_and_store_addresses(address, laddrs, &ofs, false)) {
-        return (laddrs->n_ipv4_addrs || laddrs->n_ipv6_addrs);
+        return !!(laddrs->n_ipv4_addrs || laddrs->n_ipv6_addrs);
     }

     return false;
--
2.26.2

_______________________________________________
dev mailing list
d...@openvswitch.org
https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev&d=DwICAg&c=s883GpUCOChKOHiocYtGcg&r=mZwX9gFQgeJHzTg-68aCJgsODyUEVsHGFOfL90J6MJY&m=3ris4BjmDZBU3ZRwbsRn56gP0SzuNRerqqlLcZDwPz4&s=UJ1hi-9mstVOkIkPJ4Ikg2wPbCl6gBT__uJYxKUAQEk&e=
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to