vrrp: fix SIGABRT crash by ASSERT() when deleting vrrp vr(MASTER state) 96/36896/2
authorluoyaozu <luoyaozu@chinatelecom.cn>
Sun, 14 Aug 2022 04:55:48 +0000 (12:55 +0800)
committerluoyaozu <luoyaozu@foxmail.com>
Sun, 14 Aug 2022 05:17:46 +0000 (13:17 +0800)
we need cancel vrrp_vr_timer when deleting vrrp vr

Type: fix

Signed-off-by: luoyaozu <luoyaozu@chinatelecom.cn>
Change-Id: I8ea01f1943d6e3e60c4990c5be945de613bc8b53

src/plugins/vrrp/vrrp.c

index f1ab1b2..12f4dae 100644 (file)
@@ -815,6 +815,7 @@ vrrp_vr_del_common (vrrp_vr_t *vr, vrrp_vr_key_t *key)
   vrrp_main_t *vrm = &vrrp_main;
   ip46_address_t *vr_addrs_del_copy;
 
+  vrrp_vr_timer_cancel (vr);
   vrrp_vr_tracking_ifs_add_del (vr, vr->tracking.interfaces, 0);
   vr_addrs_del_copy = vec_dup (vr->config.vr_addrs);
   vrrp_vr_addrs_add_del (vr, 0, vr_addrs_del_copy);