diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2022-12-21 15:22:24 -0500 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2022-12-21 15:22:24 -0500 |
| commit | c560f0698f425d4c054e13eccc9df87431cdb73f (patch) | |
| tree | adddf6dbfad28d5a8ab0d8d9445894fb743b9430 | |
| parent | f9d6087c51fbeafc76f3c7f1b72681cbab7f3651 (diff) | |
bgpd: rfapi properly free a couple lists
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| -rw-r--r-- | bgpd/rfapi/bgp_rfapi_cfg.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/bgpd/rfapi/bgp_rfapi_cfg.c b/bgpd/rfapi/bgp_rfapi_cfg.c index eae9859ba1..b65d90e1b3 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) |
