From 436bf68e016ef2679b96f4f1e465655ce8038925 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 9 Dec 2022 07:44:26 -0500 Subject: [PATCH] isisd: Fix sadj memory leak In some cases the sadj was directly dropped. Signed-off-by: Donald Sharp (cherry picked from commit 63e6e11f9f8a5e60fc9f6aaf54d33ba04cc3a6b4) --- isisd/isis_spf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c index bdd323e1a7..1980f99359 100644 --- a/isisd/isis_spf.c +++ b/isisd/isis_spf.c @@ -1297,6 +1297,7 @@ static void spf_adj_get_reverse_metrics(struct isis_spftree *spftree) if (lsp_adj == NULL || lsp_adj->hdr.rem_lifetime == 0) { /* Delete one-way adjacency. */ listnode_delete(spftree->sadj_list, sadj); + isis_spf_adj_free(sadj); continue; } @@ -1313,6 +1314,7 @@ static void spf_adj_get_reverse_metrics(struct isis_spftree *spftree) if (args.reverse_metric == UINT32_MAX) { /* Delete one-way adjacency. */ listnode_delete(spftree->sadj_list, sadj); + isis_spf_adj_free(sadj); continue; } sadj->metric = args.reverse_metric; -- 2.39.5