summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zebra/zserv.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/zebra/zserv.c b/zebra/zserv.c
index 533678f16d..9beae9232e 100644
--- a/zebra/zserv.c
+++ b/zebra/zserv.c
@@ -2000,6 +2000,15 @@ zebra_client_close (struct zserv *client)
if (client->t_suicide)
thread_cancel (client->t_suicide);
+ /* Free bitmaps. */
+ for (afi_t afi = AFI_IP; afi < AFI_MAX; afi++)
+ for (int i = 0; i < ZEBRA_ROUTE_MAX; i++)
+ vrf_bitmap_free (client->redist[afi][i]);
+
+ vrf_bitmap_free (client->redist_default);
+ vrf_bitmap_free (client->ifinfo);
+ vrf_bitmap_free (client->ridinfo);
+
/* Free client structure. */
listnode_delete (zebrad.client_list, client);
XFREE (MTYPE_TMP, client);