From c824d9792e1c2fd4f531c046a59627ce74a9b115 Mon Sep 17 00:00:00 2001 From: "Jeevesh Rishi Dindyal (Sarvesh)" <68096721+ryndia@users.noreply.github.com> Date: Tue, 9 May 2023 13:59:58 +0400 Subject: [PATCH] ospfd: opsf_abr.c memory leak fix, free range The new create range attribute is send to add to ranges, but not use if the prefix already exist in the ranges. Signed-off-by: ryndia --- ospfd/ospf_abr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ospfd/ospf_abr.c b/ospfd/ospf_abr.c index ded520889f..28d526870b 100644 --- a/ospfd/ospf_abr.c +++ b/ospfd/ospf_abr.c @@ -66,9 +66,11 @@ static void ospf_area_range_add(struct ospf_area *area, apply_mask_ipv4(&p); rn = route_node_get(ranges, (struct prefix *)&p); - if (rn->info) + if (rn->info) { route_unlock_node(rn); - else + ospf_area_range_free(rn->info); + rn->info = range; + } else rn->info = range; }