diff options
author | Tom Goff <thomas.goff@boeing.com> | 2010-11-10 13:02:38 -0800 |
---|---|---|
committer | Paul Jakma <paul@quagga.net> | 2011-03-21 13:31:16 +0000 |
commit | 1d19234e79c77a7d55194b513f2a77c6a691bc2c (patch) | |
tree | 4daf54c79e1cc3c3c6fa3ca66cfccb68770b3dd1 /ospf6d/ospf6_area.c | |
parent | 7e69d993673597334b1e1b3d1072a4c064f293d5 (diff) | |
download | quagga-1d19234e79c77a7d55194b513f2a77c6a691bc2c.tar.bz2 quagga-1d19234e79c77a7d55194b513f2a77c6a691bc2c.tar.xz |
ospf6d: Fix memory allocation issues in SPF
* ospf6_area.c: Call ospf6_spf_table_finish() before deleting the spf
table. This ensures that the associated ospf6_vertex structures
are also freed.
* ospf6_spf.c: Only allocate a priority queue when a spf calculation
is actually performed. Also defer calling ospf6_spf_table_finish().
Diffstat (limited to 'ospf6d/ospf6_area.c')
-rw-r--r-- | ospf6d/ospf6_area.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ospf6d/ospf6_area.c b/ospf6d/ospf6_area.c index 3c999bbc..bf8dbc33 100644 --- a/ospf6d/ospf6_area.c +++ b/ospf6d/ospf6_area.c @@ -199,6 +199,7 @@ ospf6_area_delete (struct ospf6_area *oa) ospf6_lsdb_delete (oa->lsdb); ospf6_lsdb_delete (oa->lsdb_self); + ospf6_spf_table_finish (oa->spf_table); ospf6_route_table_delete (oa->spf_table); ospf6_route_table_delete (oa->route_table); |