From 8e356191694e08463e3acaed1c39277c983d845e Mon Sep 17 00:00:00 2001 From: Elias Rudberg Date: Thu, 12 Sep 2019 14:57:47 +0200 Subject: 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 (cherry picked from commit 7fd402163c221919446942c0784073a56bfd4f70) --- src/plugins/dpdk/device/init.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/plugins') diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index 86419f7bcc5..6f3178fcf21 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); -- cgit 1.2.3-korg