From e67c1d8242fec255e7449fedcbdec5c66bb3f7b2 Mon Sep 17 00:00:00 2001 From: Michal Cmarada Date: Fri, 18 Jan 2019 12:51:08 +0100 Subject: [PATCH] fix data_length in IpSec API call (VPP-1548) Change-Id: Idb2839f6082bd2e052be2bc5417f0ebb43d1c0a6 Signed-off-by: Michal Cmarada --- src/vnet/ipsec/ipsec_api.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/vnet/ipsec/ipsec_api.c b/src/vnet/ipsec/ipsec_api.c index 59fb868f878..fc09f77db6c 100644 --- a/src/vnet/ipsec/ipsec_api.c +++ b/src/vnet/ipsec/ipsec_api.c @@ -717,9 +717,10 @@ static void #if WITH_LIBSSL > 0 vlib_main_t *vm = vlib_get_main (); clib_error_t *error; + int data_len = ntohl (mp->data_len); u8 *tmp = format (0, "%s", mp->name); - u8 *data = vec_new (u8, mp->data_len); - clib_memcpy (data, mp->data, mp->data_len); + u8 *data = vec_new (u8, data_len); + clib_memcpy (data, mp->data, data_len); error = ikev2_set_profile_auth (vm, tmp, mp->auth_method, data, mp->is_hex); vec_free (tmp); vec_free (data); @@ -742,8 +743,9 @@ vl_api_ikev2_profile_set_id_t_handler (vl_api_ikev2_profile_set_id_t * mp) vlib_main_t *vm = vlib_get_main (); clib_error_t *error; u8 *tmp = format (0, "%s", mp->name); - u8 *data = vec_new (u8, mp->data_len); - clib_memcpy (data, mp->data, mp->data_len); + int data_len = ntohl (mp->data_len); + u8 *data = vec_new (u8, data_len); + clib_memcpy (data, mp->data, data_len); error = ikev2_set_profile_id (vm, tmp, mp->id_type, data, mp->is_local); vec_free (tmp); vec_free (data); -- 2.16.6