lib: Fix redist memory free'ing

When shutting down, properly free memory associated
with zclient.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2016-10-19 11:44:39 -04:00
parent 9df78e7c3a
commit 41246cb614

View File

@ -121,6 +121,7 @@ redist_del_instance (struct redist_proto *red, u_short instance)
return;
listnode_delete(red->instances, id);
free (id);
if (!red->instances->count)
{
red->enabled = 0;
@ -160,11 +161,16 @@ zclient_stop (struct zclient *zclient)
zclient->fail = 0;
for (afi = AFI_IP; afi < AFI_MAX; afi++)
for (i = 0; i < ZEBRA_ROUTE_MAX; i++)
{
vrf_bitmap_free(zclient->redist[afi][i]);
zclient->redist[afi][i] = VRF_BITMAP_NULL;
}
{
for (i = 0; i < ZEBRA_ROUTE_MAX; i++)
{
vrf_bitmap_free(zclient->redist[afi][i]);
zclient->redist[afi][i] = VRF_BITMAP_NULL;
}
redist_del_instance(&zclient->mi_redist[afi][zclient->redist_default],
zclient->instance);
}
vrf_bitmap_free(zclient->default_information);
zclient->default_information = VRF_BITMAP_NULL;
}