aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/srmpls/sr_mpls_api.c
diff options
context:
space:
mode:
authorJohn Lo <loj@cisco.com>2018-09-13 15:08:08 -0400
committerDamjan Marion <dmarion@me.com>2018-09-14 05:03:42 +0000
commitd23d39cc012e5b1075a2323d6e940ae5ad43de46 (patch)
tree2f2c4f4ba593e08607ec8a0d1728b53983727934 /src/vnet/srmpls/sr_mpls_api.c
parent12a30202ec213d1ffbee503e61b1cec0bc4861bb (diff)
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 <loj@cisco.com>
Diffstat (limited to 'src/vnet/srmpls/sr_mpls_api.c')
-rw-r--r--src/vnet/srmpls/sr_mpls_api.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/vnet/srmpls/sr_mpls_api.c b/src/vnet/srmpls/sr_mpls_api.c
index a6294e391b6..2c36c0dd9f2 100644
--- a/src/vnet/srmpls/sr_mpls_api.c
+++ b/src/vnet/srmpls/sr_mpls_api.c
@@ -67,6 +67,7 @@ vl_api_sr_mpls_policy_add_t_handler (vl_api_sr_mpls_policy_add_t * mp)
int rv = 0;
rv = sr_mpls_policy_add (ntohl (mp->bsid),
segments, mp->type, ntohl (mp->weight));
+ vec_free (segments);
REPLY_MACRO (VL_API_SR_MPLS_POLICY_ADD_REPLY);
}
@@ -91,6 +92,7 @@ vl_api_sr_mpls_policy_mod_t_handler (vl_api_sr_mpls_policy_mod_t * mp)
rv = sr_mpls_policy_mod (ntohl (mp->bsid),
mp->operation, segments, ntohl (mp->sl_index),
ntohl (mp->weight));
+ vec_free (segments);
REPLY_MACRO (VL_API_SR_MPLS_POLICY_MOD_REPLY);
}