summaryrefslogtreecommitdiffstats
path: root/isisd/isisd.c
diff options
context:
space:
mode:
authorLouis Scalbert <louis.scalbert@6wind.com>2023-04-24 18:19:03 +0200
committerLouis Scalbert <louis.scalbert@6wind.com>2023-04-27 15:37:36 +0200
commit87acad869813e8248bdde876b96a67b31a565fbb (patch)
tree865833bc8dab0314f4137c92fb62e2d21393b562 /isisd/isisd.c
parentlib: dispatch flex_algo_delete() (diff)
downloadfrr-87acad869813e8248bdde876b96a67b31a565fbb.tar.xz
frr-87acad869813e8248bdde876b96a67b31a565fbb.zip
isisd, lib: fix flex-algo database memory leak at area destruction
Free flex-algorithm database memory when an IS-IS area is destroyed. Fixes: 735fb37db1 ("lib: add library for igp flexible-algorithm") Fixes: 7f198e063c ("isisd: add isis flex-algo base interface") Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'isisd/isisd.c')
-rw-r--r--isisd/isisd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/isisd/isisd.c b/isisd/isisd.c
index 4b01a18ec..ea304ba5e 100644
--- a/isisd/isisd.c
+++ b/isisd/isisd.c
@@ -520,6 +520,10 @@ void isis_area_destroy(struct isis_area *area)
isis_area_invalidate_routes(area, area->is_type);
isis_area_verify_routes(area);
+#ifndef FABRICD
+ flex_algos_free(area->flex_algos);
+#endif /* ifndef FABRICD */
+
isis_sr_area_term(area);
isis_mpls_te_term(area);