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>
This commit is contained in:

committed by
Damjan Marion

parent
a2b358b1fa
commit
8bea589cfe
@ -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;
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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,
|
||||
|
Reference in New Issue
Block a user