summaryrefslogtreecommitdiff
path: root/ospfd/ospf_nsm.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospfd/ospf_nsm.c')
-rw-r--r--ospfd/ospf_nsm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ospfd/ospf_nsm.c b/ospfd/ospf_nsm.c
index bfd565ef..8a93f0e6 100644
--- a/ospfd/ospf_nsm.c
+++ b/ospfd/ospf_nsm.c
@@ -440,6 +440,11 @@ nsm_kill_nbr (struct ospf_neighbor *nbr)
/* call it here because we cannot call it from ospf_nsm_event */
nsm_change_state (nbr, NSM_Down);
+ /* killing nbr_self is invalid */
+ assert (nbr != nbr->oi->nbr_self);
+ if (nbr == nbr->oi->nbr_self)
+ return 1;
+
/* Reset neighbor. */
nsm_reset_nbr (nbr);