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/dpo/load_balance.c | 6 +++--- src/vnet/dpo/load_balance_map.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/vnet/dpo') 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 -- cgit 1.2.3-korg