summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>2025-03-25 16:32:47 +0100
committerton31337 <3352707+ton31337@users.noreply.github.com>2025-03-28 15:07:53 +0000
commit400115435e3db0306d5015367eefc652280bc0ff (patch)
treecf10c2124762146956cf99ec925896f7928a400e
parent10d922b6316034a63c820e2c0e81c96dafaebff6 (diff)
ospf6d: Fix LSA memory leaks related to graceful restart
Fixes leaks reported by ospf6_gr_topo1 topotest. Signed-off-by: Martin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org> (cherry picked from commit 0db0e7fbd7c6d6c5ba32c741385bc1b2d1acfa77)
-rw-r--r--ospf6d/ospf6_flood.c1
-rw-r--r--ospf6d/ospf6_gr.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/ospf6d/ospf6_flood.c b/ospf6d/ospf6_flood.c
index 04ff35083f..261eed30ea 100644
--- a/ospf6d/ospf6_flood.c
+++ b/ospf6d/ospf6_flood.c
@@ -1061,6 +1061,7 @@ void ospf6_receive_lsa(struct ospf6_neighbor *from,
zlog_debug(
"%s, Not moving to HELPER role, So dicarding GraceLSA",
__func__);
+ ospf6_lsa_delete(new);
return;
}
}
diff --git a/ospf6d/ospf6_gr.c b/ospf6d/ospf6_gr.c
index 64eb90d5f2..27b8df0828 100644
--- a/ospf6d/ospf6_gr.c
+++ b/ospf6d/ospf6_gr.c
@@ -371,6 +371,7 @@ void ospf6_gr_check_lsdb_consistency(struct ospf6 *ospf6,
snprintfrr(reason, sizeof(reason),
"detected inconsistent LSA %s [area %pI4]",
lsa->name, &area->area_id);
+ ospf6_lsa_unlock(&lsa);
ospf6_gr_restart_exit(ospf6, reason);
return;
}