Originally reported by coverity in the following form:
*** CID 490438: Error handling issues (CHECKED_RETURN)
/controller/pinctrl.c: 8014 in
svc_monitor_send_icmp_health_check__()
8008 {
8009 uint64_t packet_stub[128 / 8];
8010 struct dp_packet packet;
8011 dp_packet_use_stub(&packet, packet_stub, sizeof packet_stub);
8012
8013 struct eth_addr eth_src;
>>> CID 490438: Error handling issues (CHECKED_RETURN)
>>> Calling "eth_addr_from_string" without checking return value (as is
done elsewhere 26 out of 31 times).
8014 eth_addr_from_string(svc_mon->sb_svc_mon->src_mac, ð_src);
Fixes: b42edf4a43b3 ("northd, controller, tests: Network Function Health
monitoring.")
Signed-off-by: Dumitru Ceara <[email protected]>
---
controller/pinctrl.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/controller/pinctrl.c b/controller/pinctrl.c
index 8c4561374f..77cb0c6847 100644
--- a/controller/pinctrl.c
+++ b/controller/pinctrl.c
@@ -8010,14 +8010,10 @@ svc_monitor_send_icmp_health_check__(struct rconn
*swconn,
struct dp_packet packet;
dp_packet_use_stub(&packet, packet_stub, sizeof packet_stub);
- struct eth_addr eth_src;
- eth_addr_from_string(svc_mon->sb_svc_mon->src_mac, ð_src);
-
if (!svc_mon->is_ip6) {
/* IPv4 ICMP health check */
- ovs_be32 ip4_src;
- ip_parse(svc_mon->sb_svc_mon->src_ip, &ip4_src);
- pinctrl_compose_ipv4(&packet, eth_src, svc_mon->ea, ip4_src,
+ pinctrl_compose_ipv4(&packet, svc_mon->src_mac, svc_mon->ea,
+ in6_addr_get_mapped_ipv4(&svc_mon->src_ip),
in6_addr_get_mapped_ipv4(&svc_mon->ip),
IPPROTO_ICMP, 255, ICMP_HEADER_LEN);
@@ -8032,7 +8028,7 @@ svc_monitor_send_icmp_health_check__(struct rconn *swconn,
ih->icmp_csum = csum(ih, sizeof *ih);
} else {
/* IPv6 ICMP health check */
- pinctrl_compose_ipv6(&packet, eth_src, svc_mon->ea,
+ pinctrl_compose_ipv6(&packet, svc_mon->src_mac, svc_mon->ea,
&svc_mon->src_ip, &svc_mon->ip,
IPPROTO_ICMPV6, 255, ICMP6_DATA_HEADER_LEN);
--
2.51.0
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev