diff options
| author | Martin Winter <mwinter@opensourcerouting.org> | 2017-10-11 17:56:17 -0700 |
|---|---|---|
| committer | Martin Winter <mwinter@opensourcerouting.org> | 2017-10-11 17:58:46 -0700 |
| commit | 31e818a8ae66d5b6137b3311e5c71880e7f1df52 (patch) | |
| tree | a247a2e9aeabbaec942ac22b33d83bf4674cf813 | |
| parent | d368ed3e48cf2400e4b0c4cf787926f7f730f487 (diff) | |
Revert "ospfd: Free memory associated with ospf instance startup"
This reverts commit 79942104bff838362cd6609485a26617492aa6f5.
The original commit causes a heap-use-after-free. See issue
https://github.com/FRRouting/frr/issues/1326
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
| -rw-r--r-- | ospfd/ospfd.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index fde3f148c3..d59abd4215 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -542,7 +542,6 @@ static void ospf_finish_final(struct ospf *ospf) /* Reset interface. */ for (ALL_LIST_ELEMENTS(ospf->oiflist, node, nnode, oi)) ospf_if_free(oi); - list_delete(ospf->oiflist); /* Clear static neighbors */ for (rn = route_top(ospf->nbr_nbma); rn; rn = route_next(rn)) @@ -575,7 +574,6 @@ static void ospf_finish_final(struct ospf *ospf) route_unlock_node(rn); } } - route_table_finish(ospf->networks); for (ALL_LIST_ELEMENTS(ospf->areas, node, nnode, area)) { listnode_delete(ospf->areas, area); @@ -672,8 +670,6 @@ static void ospf_finish_final(struct ospf *ospf) if (!CHECK_FLAG(om->options, OSPF_MASTER_SHUTDOWN)) instance = ospf->instance; - list_delete(ospf->oi_write_q); - ospf_delete(ospf); XFREE(MTYPE_OSPF_TOP, ospf); @@ -723,8 +719,6 @@ static void ospf_area_free(struct ospf_area *area) struct route_node *rn; struct ospf_lsa *lsa; - ospf_opaque_type10_lsa_term(area); - /* Free LSDBs. */ LSDB_LOOP(ROUTER_LSDB(area), rn, lsa) ospf_discard_from_db(area->ospf, area->lsdb, lsa); |
