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/vnet/dpo | |
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/vnet/dpo')
-rw-r--r-- | src/vnet/dpo/load_balance.c | 6 | ||||
-rw-r--r-- | src/vnet/dpo/load_balance_map.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/vnet/dpo/load_balance.c b/src/vnet/dpo/load_balance.c index 4666c9a7ca1..9001a351ccb 100644 --- a/src/vnet/dpo/load_balance.c +++ b/src/vnet/dpo/load_balance.c @@ -408,7 +408,7 @@ ip_multipath_normalize_next_hops (const load_balance_path_t * raw_next_hops, { nhs[0] = raw_next_hops[0]; nhs[0].path_weight = 1; - _vec_len (nhs) = 1; + vec_set_len (nhs, 1); sum_weight = 1; goto done; } @@ -425,7 +425,7 @@ ip_multipath_normalize_next_hops (const load_balance_path_t * raw_next_hops, if (nhs[0].path_weight == nhs[1].path_weight) { nhs[0].path_weight = nhs[1].path_weight = 1; - _vec_len (nhs) = 2; + vec_set_len (nhs, 2); sum_weight = 2; goto done; } @@ -491,7 +491,7 @@ ip_multipath_normalize_next_hops (const load_balance_path_t * raw_next_hops, if (error <= multipath_next_hop_error_tolerance*n_adj) { /* Truncate any next hops with zero weight. */ - _vec_len (nhs) = i; + vec_set_len (nhs, i); break; } } diff --git a/src/vnet/dpo/load_balance_map.c b/src/vnet/dpo/load_balance_map.c index 55249747e5d..765cd856608 100644 --- a/src/vnet/dpo/load_balance_map.c +++ b/src/vnet/dpo/load_balance_map.c @@ -317,7 +317,7 @@ load_balance_map_fill (load_balance_map_t *lbm) bucket += lbmp->lbmp_weight; } } - _vec_len(tmp_buckets) = jj; + vec_set_len (tmp_buckets, jj); /* * If the number of temporaries written is as many as we need, implying |