From d23d39cc012e5b1075a2323d6e940ae5ad43de46 Mon Sep 17 00:00:00 2001 From: John Lo Date: Thu, 13 Sep 2018 15:08:08 -0400 Subject: Fix memory leak in API/CLI to create/modify SR policies The segment list vector built by the API/CLI is not freed after SR policy creation or modification. Change-Id: If439005481cada6c6af7cb560fe7a4381dd49384 Signed-off-by: John Lo --- src/vnet/srmpls/sr_mpls_policy.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/vnet/srmpls/sr_mpls_policy.c') diff --git a/src/vnet/srmpls/sr_mpls_policy.c b/src/vnet/srmpls/sr_mpls_policy.c index 86cd169716a..8fc7e730e47 100755 --- a/src/vnet/srmpls/sr_mpls_policy.c +++ b/src/vnet/srmpls/sr_mpls_policy.c @@ -502,6 +502,7 @@ sr_mpls_policy_command_fn (vlib_main_t * vm, unformat_input_t * input, rv = sr_mpls_policy_add (bsid, segments, (is_spray ? SR_POLICY_TYPE_SPRAY : SR_POLICY_TYPE_DEFAULT), weight); + vec_free (segments); } else if (is_del) rv = sr_mpls_policy_del (bsid); @@ -516,6 +517,7 @@ sr_mpls_policy_command_fn (vlib_main_t * vm, unformat_input_t * input, if (operation == 3 && weight == (u32) ~ 0) return clib_error_return (0, "No new weight for the SL specified"); rv = sr_mpls_policy_mod (bsid, operation, segments, sl_index, weight); + vec_free (segments); } switch (rv) { -- cgit 1.2.3-korg