diff options
author | Damjan Marion <damarion@cisco.com> | 2022-04-04 22:40:45 +0200 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2022-04-04 23:17:13 +0000 |
commit | 8bea589cfe0fca1a6f560e16ca66a4cf199041a2 (patch) | |
tree | cf2767f8f5f31344468b65e14baa3f1a4c85fb91 /src/vat | |
parent | a2b358b1faf6e762e1d29a931d83c7735ac9a77d (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.c | 4 | ||||
-rw-r--r-- | src/vat/main.c | 2 | ||||
-rw-r--r-- | src/vat/plugin.c | 2 |
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, |