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 <sharpd@nvidia.com>
(cherry picked from commit c6b7a993fb)
This commit is contained in:
Donald Sharp 2025-02-04 10:56:59 -05:00 committed by Mergify
parent b2f9962550
commit 9b99397859

View File

@ -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--;
}
}