From: Donald Sharp Date: Wed, 21 Dec 2022 20:22:24 +0000 (-0500) Subject: bgpd: rfapi properly free a couple lists X-Git-Tag: frr-8.5.1~188^2~1 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=c560f0698f425d4c054e13eccc9df87431cdb73f;p=mirror_frr.git bgpd: rfapi properly free a couple lists Signed-off-by: Donald Sharp --- diff --git a/bgpd/rfapi/bgp_rfapi_cfg.c b/bgpd/rfapi/bgp_rfapi_cfg.c index eae9859ba..b65d90e1b 100644 --- a/bgpd/rfapi/bgp_rfapi_cfg.c +++ b/bgpd/rfapi/bgp_rfapi_cfg.c @@ -3847,6 +3847,13 @@ struct rfapi_cfg *bgp_rfapi_cfg_new(struct rfapi_rfp_cfg *cfg) return h; } +static void bgp_rfapi_rfgn_list_delete(void *data) +{ + struct rfapi_rfg_name *rfgn = data; + free(rfgn->name); + rfgn_free(rfgn); +} + void bgp_rfapi_cfg_destroy(struct bgp *bgp, struct rfapi_cfg *h) { afi_t afi; @@ -3858,8 +3865,13 @@ void bgp_rfapi_cfg_destroy(struct bgp *bgp, struct rfapi_cfg *h) if (h->l2_groups != NULL) list_delete(&h->l2_groups); list_delete(&h->nve_groups_sequential); + + h->rfg_export_direct_bgp_l->del = bgp_rfapi_rfgn_list_delete; list_delete(&h->rfg_export_direct_bgp_l); + + h->rfg_export_zebra_l->del = bgp_rfapi_rfgn_list_delete; list_delete(&h->rfg_export_zebra_l); + if (h->default_rt_export_list) ecommunity_free(&h->default_rt_export_list); if (h->default_rt_import_list)