Fix Avoid crash in vnet_delete_sub_interface routine 29/11029/1
authorSteve Shin <jonshin@cisco.com>
Wed, 7 Mar 2018 21:29:29 +0000 (13:29 -0800)
committerSteve Shin <jonshin@cisco.com>
Wed, 7 Mar 2018 21:42:09 +0000 (13:42 -0800)
vnet_get_sw_interface shoud be called after sw_if_index is validated.

Change-Id: I36f1d90999c740803386404ba9b32703b659cd54
Signed-off-by: Steve Shin <jonshin@cisco.com>
src/vnet/ethernet/interface.c

index 091ca29..a29302b 100644 (file)
@@ -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)
     {