From 9b993978596e74a56207a0e0cde7acc4941dc5cd Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 4 Feb 2025 10:56:59 -0500 Subject: [PATCH] bgpd: Fix up memory leak in processing eoiu marker Memory is being leaked when processing the eoiu marker. BGP is creating a dummy dest to contain the data but it was never freed. As well as the eoiu info was not being freed either. Signed-off-by: Donald Sharp (cherry picked from commit c6b7a993fb2961e04d069f1779498342aa7932fd) --- bgpd/bgp_route.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index e932738cd4..84f565b4de 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -4120,6 +4120,9 @@ static void process_eoiu_marker(struct bgp_dest *dest) subqueue2str(META_QUEUE_EOIU_MARKER)); bgp_process_main_one(info->bgp, NULL, 0, 0); + + XFREE(MTYPE_BGP_EOIU_MARKER_INFO, info); + XFREE(MTYPE_BGP_NODE, dest); } /* @@ -4310,6 +4313,7 @@ static void eoiu_marker_queue_free(struct meta_queue *mq, struct bgp_dest_queue XFREE(MTYPE_BGP_EOIU_MARKER_INFO, dest->info); STAILQ_REMOVE_HEAD(l, pq); STAILQ_NEXT(dest, pq) = NULL; /* complete unlink */ + XFREE(MTYPE_BGP_NODE, dest); mq->size--; } }