From: Elias Rudberg Date: Thu, 12 Sep 2019 12:57:47 +0000 (+0200) Subject: dpdk: fix null-termination of strings X-Git-Tag: v20.05-rc0~850 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=7fd402163c221919446942c0784073a56bfd4f70;p=vpp.git dpdk: fix null-termination of strings Fix problem with some strings not being null-terminated, by using the vec_terminate_c_string macro in two places. The problem was found using AddressSanitizer. (Also make sure indentation is OK for those changes.) Ticket: VPP-1772 Type: fix Signed-off-by: Elias Rudberg Change-Id: Ib7826e3c322e58b649e2d7f6053786da618a5e9e --- diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index a2651823806..ff0dfc760dc 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -1388,6 +1388,7 @@ dpdk_config (vlib_main_t * vm, unformat_input_t * input) vec_insert (conf->eal_init_args, 2, 3); conf->eal_init_args[3] = (u8 *) "-n"; tmp = format (0, "%d", conf->nchannels); + vec_terminate_c_string (tmp); conf->eal_init_args[4] = tmp; } @@ -1481,6 +1482,8 @@ dpdk_config (vlib_main_t * vm, unformat_input_t * input) conf->eal_init_args_str = format (conf->eal_init_args_str, "%s ", conf->eal_init_args[i]); + vec_terminate_c_string (conf->eal_init_args_str); + dpdk_log_warn ("EAL init args: %s", conf->eal_init_args_str); ret = rte_eal_init (vec_len (conf->eal_init_args), (char **) conf->eal_init_args);