From: Dave Barach Date: Fri, 28 Feb 2020 14:27:07 +0000 (-0500) Subject: vrrp: fix api-related coverity warnings X-Git-Tag: v20.09-rc0~479 X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commitdiff_plain;h=bdfdc4a480260a874de9b828723b01f119b57fbe vrrp: fix api-related coverity warnings Type: fix Ticket: VPP-1837 Signed-off-by: Dave Barach Change-Id: I13c0e4771defaebccc976a6f6703493de29434dd --- diff --git a/src/plugins/vrrp/vrrp_api.c b/src/plugins/vrrp/vrrp_api.c index d2badc0345b..9ef90203f32 100644 --- a/src/plugins/vrrp/vrrp_api.c +++ b/src/plugins/vrrp/vrrp_api.c @@ -34,6 +34,8 @@ vl_api_vrrp_vr_add_del_t_handler (vl_api_vrrp_vr_add_del_t * mp) ip46_address_t *addrs = 0; int rv; + VALIDATE_SW_IF_INDEX (mp); + api_flags = htonl (mp->flags); clib_memset (&vr_conf, 0, sizeof (vr_conf)); @@ -106,6 +108,7 @@ vl_api_vrrp_vr_add_del_t_handler (vl_api_vrrp_vr_add_del_t * mp) vec_free (addrs); + BAD_SW_IF_INDEX_LABEL; REPLY_MACRO (VL_API_VRRP_VR_ADD_DEL_REPLY); } diff --git a/src/plugins/vrrp/vrrp_test.c b/src/plugins/vrrp/vrrp_test.c index 89ad712dc73..eaa0c40ecd0 100644 --- a/src/plugins/vrrp/vrrp_test.c +++ b/src/plugins/vrrp/vrrp_test.c @@ -227,12 +227,19 @@ vl_api_vrrp_vr_details_t_handler (vl_api_vrrp_vr_details_t * mp) vat_main_t *vam = vrrp_test_main.vat_main; u32 api_flags = ntohl (mp->config.flags); int i; + u32 state; char *states[] = { "VRRP_API_VR_STATE_INIT", "VRRP_API_VR_STATE_BACKUP", "VRRP_API_VR_STATE_MASTER", + "BAD STATE!", }; + state = ntohl (mp->runtime.state); + + if (state > ARRAY_LEN (states) - 2) + state = ARRAY_LEN (states) - 1; + fformat (vam->ofp, "sw_if_index %u vr_id %u IPv%d: " "priority %u interval %u preempt %s accept %s unicast %s " "state %s master_adv_interval %u skew %u master_down_interval %u " @@ -243,7 +250,7 @@ vl_api_vrrp_vr_details_t_handler (vl_api_vrrp_vr_details_t * mp) (api_flags & VRRP_API_VR_PREEMPT) ? "yes" : "no", (api_flags & VRRP_API_VR_ACCEPT) ? "yes" : "no", (api_flags & VRRP_API_VR_UNICAST) ? "yes" : "no", - states[ntohl (mp->runtime.state)], + states[state], ntohs (mp->runtime.master_adv_int), ntohs (mp->runtime.skew), ntohs (mp->runtime.master_down_int), format_ethernet_address, &mp->runtime.mac);