diff options
author | Benoît Ganne <bganne@cisco.com> | 2023-01-26 16:04:43 +0100 |
---|---|---|
committer | Damjan Marion <dmarion@0xa5.net> | 2023-03-06 17:55:08 +0000 |
commit | 064ff151504453220ae377f6092cd706d2e317e2 (patch) | |
tree | 9b55b516af107fc33111862324d48cef5bc78aaf | |
parent | 22460d6a873187d2130441958093808d23969a1f (diff) |
lb: keep AddressSanitizer happy
vec_alloc() does not mark vector as accessible contrary to
vec_validate().
Also removes redundant memset(0) as vector allocation always zeroed
new memory.
Type: fix
Change-Id: I8309831b964a618454ed0bebbcdec7ec21149414
Signed-off-by: Benoît Ganne <bganne@cisco.com>
-rw-r--r-- | src/plugins/lb/lb.c | 2 | ||||
-rw-r--r-- | src/plugins/lb/lbhash.h | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/src/plugins/lb/lb.c b/src/plugins/lb/lb.c index 782833495c1..c6f5a0ab89a 100644 --- a/src/plugins/lb/lb.c +++ b/src/plugins/lb/lb.c @@ -486,7 +486,7 @@ out: } //First, let's sort the ASs - vec_alloc(sort_arr, pool_elts(vip->as_indexes)); + vec_validate (sort_arr, pool_elts (vip->as_indexes) - 1); i = 0; pool_foreach (as_index, vip->as_indexes) { diff --git a/src/plugins/lb/lbhash.h b/src/plugins/lb/lbhash.h index f822d79ded8..8253e9d52f0 100644 --- a/src/plugins/lb/lbhash.h +++ b/src/plugins/lb/lbhash.h @@ -88,8 +88,7 @@ lb_hash_t *lb_hash_alloc(u32 buckets, u32 timeout) sizeof(lb_hash_bucket_t) * (buckets + 1); u8 *mem = 0; lb_hash_t *h; - vec_alloc_aligned(mem, size, CLIB_CACHE_LINE_BYTES); - clib_memset(mem, 0, size); + vec_validate_aligned (mem, size - 1, CLIB_CACHE_LINE_BYTES); h = (lb_hash_t *)mem; h->buckets_mask = (buckets - 1); h->timeout = timeout; |