vlib: fixed the issue of vpp crash caused by interface up/down 44/33244/4
authorfangtong <fangtong2007@163.com>
Sat, 24 Jul 2021 06:55:02 +0000 (14:55 +0800)
committerDamjan Marion <dmarion@me.com>
Tue, 31 Aug 2021 21:06:17 +0000 (21:06 +0000)
When the interface status changes, the api of vnet_hw_interface_set_flags_helper calls the event processing function (vlib_process_signal_event_helper) for event processing. When the opinter data_vec is NULL, the _ven_len operation of an illegal address will cause vpp crash.

Type:fix

Signed-off-by: fangtong <fangtong2007@163.com>
Change-Id: I7106b2aed7a1fc17f74bf6cb513912af97584f45

src/vlib/node_funcs.h

index 3c90a88..b1d5c7b 100644 (file)
@@ -848,7 +848,7 @@ vlib_process_signal_event_helper (vlib_node_main_t * nm,
     if (!data_vec && vec_len (nm->recycled_event_data_vectors))
       {
        data_vec = vec_pop (nm->recycled_event_data_vectors);
-       _vec_len (data_vec) = 0;
+       vec_reset_length (data_vec);
       }
 
     l = vec_len (data_vec);