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/vnet/unix/tuntap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/vnet/unix') diff --git a/src/vnet/unix/tuntap.c b/src/vnet/unix/tuntap.c index c588cfd208c..1ce13e79254 100644 --- a/src/vnet/unix/tuntap.c +++ b/src/vnet/unix/tuntap.c @@ -172,7 +172,7 @@ tuntap_tx (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) /* Re-set iovecs if present. */ if (tm->threads[thread_index].iovecs) - _vec_len (tm->threads[thread_index].iovecs) = 0; + vec_set_len (tm->threads[thread_index].iovecs, 0); /** VLIB buffer chain -> Unix iovec(s). */ vec_add2 (tm->threads[thread_index].iovecs, iov, 1); @@ -260,7 +260,7 @@ tuntap_rx (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) vlib_buffer_alloc (vm, tm->threads[thread_index].rx_buffers + n_left, VLIB_FRAME_SIZE - n_left); - _vec_len (tm->threads[thread_index].rx_buffers) = n_left + n_alloc; + vec_set_len (tm->threads[thread_index].rx_buffers, n_left + n_alloc); } } @@ -324,7 +324,7 @@ tuntap_rx (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) + VNET_INTERFACE_COUNTER_RX, thread_index, tm->sw_if_index, 1, n_bytes_in_packet); - _vec_len (tm->threads[thread_index].rx_buffers) = i_rx; + vec_set_len (tm->threads[thread_index].rx_buffers, i_rx); } b = vlib_get_buffer (vm, bi); -- cgit 1.2.3-korg