]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospf6d: Fix LSA memory leaks related to graceful restart
authorMartin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>
Tue, 25 Mar 2025 15:32:47 +0000 (16:32 +0100)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Wed, 26 Mar 2025 15:40:52 +0000 (15:40 +0000)
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)

ospf6d/ospf6_flood.c
ospf6d/ospf6_gr.c

index 04ff35083ffb43a76e44063320ea2244f19ae3ea..261eed30ea4d3c0c4bf756a3d185b7eb4354525a 100644 (file)
@@ -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;
                                }
                        }
index 64eb90d5f29a82782fc691c68e24fd6e0dcad362..27b8df0828c27784dd90ae3e6a839189c0de0ae6 100644 (file)
@@ -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;
                }