]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Add ability to clean lcommunity hash
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 25 Jan 2017 13:26:21 +0000 (08:26 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 25 Jan 2017 13:26:21 +0000 (08:26 -0500)
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 <sharpd@cumulusnetworks.com>
bgpd/bgp_lcommunity.c

index a4b6d96ed362c941e3ff656c427d893e8a68aed4..dc98809f60254306235f042e91091c43f3193064 100644 (file)
@@ -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;
 }