diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-01-25 08:26:21 -0500 | 
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-01-25 08:26:21 -0500 | 
| commit | 47350fd9f4b56b3e8200ea6c8c9c8b07d0fbb9c6 (patch) | |
| tree | 8de7eb995c192d9be772fb2b4491d97b9a200b88 /bgpd/bgp_lcommunity.c | |
| parent | 52951b630a4f85db81f598d2bc759c6387ff2801 (diff) | |
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 <sharpd@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgp_lcommunity.c')
| -rw-r--r-- | bgpd/bgp_lcommunity.c | 7 | 
1 files changed, 7 insertions, 0 deletions
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;  }  | 
