From 8bea589cfe0fca1a6f560e16ca66a4cf199041a2 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Mon, 4 Apr 2022 22:40:45 +0200 Subject: vppinfra: make _vec_len() read-only Use of _vec_len() to set vector length breaks address sanitizer. Users should use vec_set_len(), vec_inc_len(), vec_dec_len () instead. Type: improvement Change-Id: I441ae948771eb21c23a61f3ff9163bdad74a2cb8 Signed-off-by: Damjan Marion --- src/plugins/hs_apps/echo_client.c | 2 +- src/plugins/hs_apps/http_cli.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/plugins/hs_apps') diff --git a/src/plugins/hs_apps/echo_client.c b/src/plugins/hs_apps/echo_client.c index 1d33a855240..b7bc85b82a9 100644 --- a/src/plugins/hs_apps/echo_client.c +++ b/src/plugins/hs_apps/echo_client.c @@ -248,7 +248,7 @@ ec_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) conn_indices + vec_len (conn_indices) - nconns_this_batch, nconns_this_batch * sizeof (u32)); - _vec_len (conn_indices) -= nconns_this_batch; + vec_dec_len (conn_indices, nconns_this_batch); } /* diff --git a/src/plugins/hs_apps/http_cli.c b/src/plugins/hs_apps/http_cli.c index fec1427994c..d742121ad2c 100644 --- a/src/plugins/hs_apps/http_cli.c +++ b/src/plugins/hs_apps/http_cli.c @@ -221,7 +221,7 @@ hcs_cli_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f) else if (request[i] == ' ') { /* vlib_cli_input is vector-based, no need for a NULL */ - _vec_len (request) = i; + vec_set_len (request, i); break; } i++; @@ -269,7 +269,7 @@ alloc_cli_process (hcs_cli_args_t *args) { n = vlib_get_node (vm, hcm->free_http_cli_process_node_indices[l - 1]); vlib_node_set_state (vm, n->index, VLIB_NODE_STATE_POLLING); - _vec_len (hcm->free_http_cli_process_node_indices) = l - 1; + vec_set_len (hcm->free_http_cli_process_node_indices, l - 1); } else { -- cgit 1.2.3-korg