summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2022-08-30 18:51:42 +0300
committerGitHub <noreply@github.com>2022-08-30 18:51:42 +0300
commit6a3f0ee28b995e227987ae3102868d9f9b43383a (patch)
treeb6933b122a2e887487ea6f6cfd9393e9b942f386
parent93b4a26c6e65fddfbe18c355649b4aabe5b013ae (diff)
parent3f247df779bc6a15ca351b564b7ce293e50a42e4 (diff)
Merge pull request #11880 from FRRouting/mergify/bp/stable/8.3/pr-11870
ospfd: crash when router acts as GR helper upon a topo change (backport #11870)
-rw-r--r--ospfd/ospf_lsa.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c
index 2be81042a6..8d05cebcdc 100644
--- a/ospfd/ospf_lsa.c
+++ b/ospfd/ospf_lsa.c
@@ -2868,10 +2868,11 @@ struct ospf_lsa *ospf_lsa_install(struct ospf *ospf, struct ospf_interface *oi,
* So, router should be aborted from HELPER role
* if it is detected as TOPO change.
*/
- if (ospf->active_restarter_cnt
- && CHECK_LSA_TYPE_1_TO_5_OR_7(lsa->data->type)
- && ospf_lsa_different(old, lsa, true))
- ospf_helper_handle_topo_chg(ospf, lsa);
+ if (ospf->active_restarter_cnt &&
+ CHECK_LSA_TYPE_1_TO_5_OR_7(lsa->data->type)) {
+ if (old == NULL || ospf_lsa_different(old, lsa, true))
+ ospf_helper_handle_topo_chg(ospf, lsa);
+ }
rt_recalc = 1;
}