diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2022-12-21 15:22:24 -0500 |
|---|---|---|
| committer | Mergify <37929162+mergify[bot]@users.noreply.github.com> | 2022-12-27 20:07:54 +0000 |
| commit | 1cec86b9c6e00bd65d0d0be220e7d7afbf949523 (patch) | |
| tree | df63d3d67926ae2a8ec65b11ba11f8353773880e /bgpd | |
| parent | 2fdad4aef49a2a82f220f19b5bb611d05026fa31 (diff) | |
bgpd: rfapi properly free a couple lists
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit c560f0698f425d4c054e13eccc9df87431cdb73f)
Diffstat (limited to 'bgpd')
| -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) |
