From 47350fd9f4b56b3e8200ea6c8c9c8b07d0fbb9c6 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Wed, 25 Jan 2017 08:26:21 -0500 Subject: [PATCH] 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 --- bgpd/bgp_lcommunity.c | 7 +++++++ 1 file changed, 7 insertions(+) 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; } -- 2.39.5