summaryrefslogtreecommitdiffstats
path: root/zebra/zserv.c
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2020-01-14 07:15:04 +0100
committerQuentin Young <qlyoung@cumulusnetworks.com>2020-01-15 20:18:40 +0100
commit24c370dd46db24ea4c610751479e908e3fb55b25 (patch)
tree8609349949e4e8117369d8be655499f5477342fc /zebra/zserv.c
parentMerge pull request #5666 from donaldsharp/more_nhg_fixes (diff)
downloadfrr-24c370dd46db24ea4c610751479e908e3fb55b25.tar.xz
frr-24c370dd46db24ea4c610751479e908e3fb55b25.zip
zebra: fix redist memleak on client disconnect
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'zebra/zserv.c')
-rw-r--r--zebra/zserv.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/zebra/zserv.c b/zebra/zserv.c
index 419f30e6d..cca926f3b 100644
--- a/zebra/zserv.c
+++ b/zebra/zserv.c
@@ -591,8 +591,10 @@ static void zserv_client_free(struct zserv *client)
/* Free bitmaps. */
for (afi_t afi = AFI_IP; afi < AFI_MAX; afi++) {
- for (int i = 0; i < ZEBRA_ROUTE_MAX; i++)
+ for (int i = 0; i < ZEBRA_ROUTE_MAX; i++) {
vrf_bitmap_free(client->redist[afi][i]);
+ redist_del_all_instances(&client->mi_redist[afi][i]);
+ }
vrf_bitmap_free(client->redist_default[afi]);
}