summaryrefslogtreecommitdiffstats
path: root/ospfd
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2021-05-31 15:27:51 +0200
committerRenato Westphal <renato@opensourcerouting.org>2021-06-08 16:41:33 +0200
commit4b3c4577024be8ebbfa8d36aada419070c2925be (patch)
treec7b0f9aac6e12f7bacded45554db3f3a472905d9 /ospfd
parentospfd: fix crash when logging a Grace-LSA (diff)
downloadfrr-4b3c4577024be8ebbfa8d36aada419070c2925be.tar.xz
frr-4b3c4577024be8ebbfa8d36aada419070c2925be.zip
ospfd: fix dangling pointer when exiting from the helper mode
When exiting from the helper mode for a given router after an unsuccessful graceful restart, removing the neighborship to that router straight away leads to a dangling pointer in the associated interface, which inevitably leads to a crash. To solve this problem, schedule the removal of the neighbor instead of removing it immediately. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'ospfd')
-rw-r--r--ospfd/ospf_gr_helper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ospfd/ospf_gr_helper.c b/ospfd/ospf_gr_helper.c
index 10c5020cd..3a130f87f 100644
--- a/ospfd/ospf_gr_helper.c
+++ b/ospfd/ospf_gr_helper.c
@@ -721,7 +721,7 @@ void ospf_gr_helper_exit(struct ospf_neighbor *nbr,
zlog_debug(
"%s, Failed GR exit, so bringing down the neighbour",
__func__);
- OSPF_NSM_EVENT_EXECUTE(nbr, NSM_KillNbr);
+ OSPF_NSM_EVENT_SCHEDULE(nbr, NSM_KillNbr);
}
/*Recalculate the DR for the network segment */