]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: fix misc zebra leaks
authorQuentin Young <qlyoung@cumulusnetworks.com>
Tue, 6 Jun 2017 16:19:17 +0000 (16:19 +0000)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Wed, 7 Jun 2017 00:55:00 +0000 (00:55 +0000)
Fix #669

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
zebra/zserv.c

index 533678f16da2e955563c4c5fc0c7514d8b78dd04..9beae9232ed573039345e149379c90c3bf2d3d38 100644 (file)
@@ -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);