From: Donald Sharp Date: Wed, 25 Jan 2017 13:26:21 +0000 (-0500) Subject: bgpd: Add ability to clean lcommunity hash X-Git-Tag: frr-3.0-branchpoint~64^2~5^2~2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=47350fd9f4b56b3e8200ea6c8c9c8b07d0fbb9c6;p=matthieu%2Ffrr.git bgpd: Add ability to clean lcommunity hash Ensure that we don't leak any memory on shutdown. Since the bgp_lcommunity.c file mirrors bgp_ecommunity.c Add the same code for shutdown that ecommunity has. Signed-off-by: Donald Sharp --- diff --git a/bgpd/bgp_lcommunity.c b/bgpd/bgp_lcommunity.c index a4b6d96ed3..dc98809f60 100644 --- a/bgpd/bgp_lcommunity.c +++ b/bgpd/bgp_lcommunity.c @@ -54,6 +54,12 @@ lcommunity_free (struct lcommunity **lcom) lcom = NULL; } +static void +lcommunity_hash_free (struct lcommunity *lcom) +{ + lcommunity_free (&lcom); +} + /* Add a new Large Communities value to Large Communities Attribute structure. When the value is already exists in the structure, we don't add the value. Newly added value is sorted by @@ -287,6 +293,7 @@ lcommunity_init (void) void lcommunity_finish (void) { + hash_clean (lcomhash, (void (*)(void *))lcommunity_hash_free); hash_free (lcomhash); lcomhash = NULL; }