X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fvrrp%2Fvrrp_api.c;h=9ef90203f32c270cfe16481a0e767c89d960f3df;hb=e5d34919b;hp=3b9c256b263e16f9441f40fd1bdcc2d8163c8787;hpb=39e9428b90bc74d1bb15fc17759c8ef6ad712418;p=vpp.git diff --git a/src/plugins/vrrp/vrrp_api.c b/src/plugins/vrrp/vrrp_api.c index 3b9c256b263..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); } @@ -211,6 +214,8 @@ vl_api_vrrp_vr_dump_t_handler (vl_api_vrrp_vr_dump_t * mp) u32 sw_if_index; reg = vl_api_client_index_to_registration (mp->client_index); + if (!reg) + return; sw_if_index = htonl (mp->sw_if_index); @@ -340,6 +345,8 @@ vl_api_vrrp_vr_peer_dump_t_handler (vl_api_vrrp_vr_peer_dump_t * mp) vrrp_vr_key_t vr_key; reg = vl_api_client_index_to_registration (mp->client_index); + if (!reg) + return; vr_key.sw_if_index = ntohl (mp->sw_if_index); @@ -456,6 +463,8 @@ vl_api_vrrp_vr_track_if_dump_t_handler (vl_api_vrrp_vr_track_if_dump_t * mp) vrrp_vr_t *vr; reg = vl_api_client_index_to_registration (mp->client_index); + if (!reg) + return; if (!mp->dump_all) {