diff options
| author | Donatas Abraitis <donatas@opensourcerouting.org> | 2022-08-30 13:46:26 +0300 | 
|---|---|---|
| committer | Donatas Abraitis <donatas@opensourcerouting.org> | 2022-08-30 13:46:26 +0300 | 
| commit | 3727e359e3c7854f96e529c72e63ffff98739c7f (patch) | |
| tree | 6c048d28febde19aeb06c31fc738ea517a737a42 /bgpd/bgp_evpn_mh.c | |
| parent | 886307027a1bb1a615f82087868412e3ba810f68 (diff) | |
bgpd: Cleanup memory for missing hashes
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Diffstat (limited to 'bgpd/bgp_evpn_mh.c')
| -rw-r--r-- | bgpd/bgp_evpn_mh.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/bgpd/bgp_evpn_mh.c b/bgpd/bgp_evpn_mh.c index 95a0c31b55..de63618580 100644 --- a/bgpd/bgp_evpn_mh.c +++ b/bgpd/bgp_evpn_mh.c @@ -4548,6 +4548,11 @@ static void bgp_evpn_nh_del(struct bgp_evpn_nh *n)  	XFREE(MTYPE_BGP_EVPN_NH, tmp_n);  } +static void hash_evpn_nh_free(struct bgp_evpn_nh *ben) +{ +	XFREE(MTYPE_BGP_EVPN_NH, ben); +} +  static unsigned int bgp_evpn_nh_hash_keymake(const void *p)  {  	const struct bgp_evpn_nh *n = p; @@ -4612,6 +4617,7 @@ void bgp_evpn_nh_finish(struct bgp *bgp_vrf)  		bgp_vrf->evpn_nh_table,  		(void (*)(struct hash_bucket *, void *))bgp_evpn_nh_flush_cb,  		NULL); +	hash_clean(bgp_vrf->evpn_nh_table, (void (*)(void *))hash_evpn_nh_free);  	hash_free(bgp_vrf->evpn_nh_table);  	bgp_vrf->evpn_nh_table = NULL;  }  | 
