From 225b4e782b458faca54d669cd21e3ea68ef5a0e1 Mon Sep 17 00:00:00 2001 From: "Anand H. Krishnan" Date: Thu, 26 Mar 2015 17:09:50 +0530 Subject: [PATCH] Free the flow metadata post a flush Flow metadata, which is passed to the hold queue flusher, is not freed post the flush. Change-Id: I7764f39167403532fe01caa2b1285a183420893b Closes-Bug: #1436798 --- dp-core/vr_flow.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dp-core/vr_flow.c b/dp-core/vr_flow.c index ea3cce015..f5ebc4cb4 100644 --- a/dp-core/vr_flow.c +++ b/dp-core/vr_flow.c @@ -1303,11 +1303,11 @@ vr_flow_flush(void *arg) router = flmd->flmd_router; if (!router) - return; + goto exit_flush; fe = vr_get_flow_entry(router, flmd->flmd_index); if (!fe) - return; + goto exit_flush; vr_init_forwarding_md(&fmd); vr_flow_set_forwarding_md(router, fe, flmd->flmd_index, &fmd); @@ -1318,6 +1318,9 @@ vr_flow_flush(void *arg) vr_reset_flow_entry(router, fe, flmd->flmd_index); } +exit_flush: + vr_free(flmd); + return; }