X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp%2Fapi%2Fapi.c;h=01527a565f386fa087ec93871897f87b26e31eb6;hb=2dbee9361e74d03727a8b618ba80a5e28c006011;hp=f652205d583da287d279e938e46eefffd2dca5c7;hpb=a690fdbfe179e0ea65818c03b52535bf9210efd0;p=vpp.git diff --git a/src/vpp/api/api.c b/src/vpp/api/api.c index f652205d583..01527a565f3 100644 --- a/src/vpp/api/api.c +++ b/src/vpp/api/api.c @@ -212,7 +212,7 @@ vl_api_cli_inband_t_handler (vl_api_cli_inband_t * mp) vlib_main_t *vm = vlib_get_main (); unformat_input_t input; u8 *out_vec = 0; - u32 len = 0; + u8 *cmd_vec = 0; if (vl_msg_api_get_msg_length (mp) < vl_api_string_len (&mp->cmd) + sizeof (*mp)) @@ -221,20 +221,21 @@ vl_api_cli_inband_t_handler (vl_api_cli_inband_t * mp) goto error; } - unformat_init_string (&input, (char *) vl_api_from_api_string (&mp->cmd), + cmd_vec = vl_api_from_api_to_new_vec (&mp->cmd); + + unformat_init_string (&input, (char *) cmd_vec, vl_api_string_len (&mp->cmd)); rv = vlib_cli_input (vm, &input, inband_cli_output, (uword) & out_vec); - len = vec_len (out_vec); - error: /* *INDENT-OFF* */ - REPLY_MACRO3(VL_API_CLI_INBAND_REPLY, len, + REPLY_MACRO3(VL_API_CLI_INBAND_REPLY, vec_len (out_vec), ({ - vl_api_to_api_string(len, (const char *)out_vec, &rmp->reply); + vl_api_vec_to_api_string(out_vec, &rmp->reply); })); /* *INDENT-ON* */ vec_free (out_vec); + vec_free (cmd_vec); } static void