aboutsummaryrefslogtreecommitdiffstats
path: root/src/vat
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2022-04-04 22:40:45 +0200
committerDamjan Marion <dmarion@me.com>2022-04-04 23:17:13 +0000
commit8bea589cfe0fca1a6f560e16ca66a4cf199041a2 (patch)
treecf2767f8f5f31344468b65e14baa3f1a4c85fb91 /src/vat
parenta2b358b1faf6e762e1d29a931d83c7735ac9a77d (diff)
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 <damarion@cisco.com>
Diffstat (limited to 'src/vat')
-rw-r--r--src/vat/api_format.c4
-rw-r--r--src/vat/main.c2
-rw-r--r--src/vat/plugin.c2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/vat/api_format.c b/src/vat/api_format.c
index 4827d55815c..14546b51be8 100644
--- a/src/vat/api_format.c
+++ b/src/vat/api_format.c
@@ -1427,7 +1427,7 @@ unformat_classify_mask (unformat_input_t * input, va_list * args)
if (match == 0)
clib_warning ("BUG: match 0");
- _vec_len (mask) = match * sizeof (u32x4);
+ vec_set_len (mask, match * sizeof (u32x4));
*matchp = match;
*maskp = mask;
@@ -1994,7 +1994,7 @@ api_unformat_classify_match (unformat_input_t * input, va_list * args)
sizeof (u32x4));
/* Set size, include skipped vectors */
- _vec_len (match) = (match_n_vectors + skip_n_vectors) * sizeof (u32x4);
+ vec_set_len (match, (match_n_vectors + skip_n_vectors) * sizeof (u32x4));
*matchp = match;
diff --git a/src/vat/main.c b/src/vat/main.c
index 1640c5ded6a..e7c08184de3 100644
--- a/src/vat/main.c
+++ b/src/vat/main.c
@@ -98,7 +98,7 @@ do_one_file (vat_main_t * vam)
rv = write (1, "exec# ", 6);
}
- _vec_len (vam->inbuf) = 4096;
+ vec_set_len (vam->inbuf, 4096);
if (vam->do_exit ||
fgets ((char *) vam->inbuf, vec_len (vam->inbuf), vam->ifp) == 0)
diff --git a/src/vat/plugin.c b/src/vat/plugin.c
index 09a96fd2ca4..bc780001bbd 100644
--- a/src/vat/plugin.c
+++ b/src/vat/plugin.c
@@ -155,7 +155,7 @@ vat_load_new_plugins (plugin_main_t * pm)
if (load_one_plugin (pm, pi))
{
vec_free (plugin_name);
- _vec_len (pm->plugin_info) = vec_len (pm->plugin_info) - 1;
+ vec_set_len (pm->plugin_info, vec_len (pm->plugin_info) - 1);
continue;
}
hash_set_mem (pm->plugin_by_name_hash, plugin_name,