From: Donald Sharp Date: Wed, 4 Oct 2017 12:04:00 +0000 (-0400) Subject: ospfd: Free memory associated with ospf instance startup X-Git-Tag: frr-4.0-dev~222 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=7f7f77a01b1b494f0e06f8567d3c491de2a79c2b;p=matthieu%2Ffrr.git ospfd: Free memory associated with ospf instance startup We have memory that is initialized upon ospf instance and area startup. Free it up on shutdown. Signed-off-by: Donald Sharp --- diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index 24d3abf2a7..069ba96be6 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -634,6 +634,7 @@ 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); /* De-Register VRF */ ospf_zebra_vrf_deregister(ospf); @@ -768,6 +769,8 @@ 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); if (ospf->name) { @@ -828,6 +831,8 @@ 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);