From: Steve Shin Date: Wed, 7 Mar 2018 21:29:29 +0000 (-0800) Subject: Fix Avoid crash in vnet_delete_sub_interface routine X-Git-Tag: v18.04-rc1~177 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F29%2F11029%2F1;p=vpp.git Fix Avoid crash in vnet_delete_sub_interface routine vnet_get_sw_interface shoud be called after sw_if_index is validated. Change-Id: I36f1d90999c740803386404ba9b32703b659cd54 Signed-off-by: Steve Shin --- diff --git a/src/vnet/ethernet/interface.c b/src/vnet/ethernet/interface.c index 091ca2977ee..a29302bee3e 100644 --- a/src/vnet/ethernet/interface.c +++ b/src/vnet/ethernet/interface.c @@ -739,12 +739,13 @@ int vnet_delete_sub_interface (u32 sw_if_index) { vnet_main_t *vnm = vnet_get_main (); - vnet_sw_interface_t *si = vnet_get_sw_interface (vnm, sw_if_index); + vnet_sw_interface_t *si; int rv = 0; if (pool_is_free_index (vnm->interface_main.sw_interfaces, sw_if_index)) return VNET_API_ERROR_INVALID_SW_IF_INDEX; + si = vnet_get_sw_interface (vnm, sw_if_index); if (si->type == VNET_SW_INTERFACE_TYPE_SUB || si->type == VNET_SW_INTERFACE_TYPE_P2P) {