summaryrefslogtreecommitdiffstats
path: root/src/vppinfra/pool.h
diff options
context:
space:
mode:
authorBenoît Ganne <bganne@cisco.com>2023-01-26 19:23:19 +0100
committerDamjan Marion <dmarion@0xa5.net>2023-01-30 18:18:14 +0000
commit946f918a27c194e5a305db607eefb6ec83b5f5f1 (patch)
treea29fe23b4309c8ddd300752c80c18058dbcb6aae /src/vppinfra/pool.h
parenta254de408e067df7de94ce9176e104bc2b3a0e67 (diff)
vppinfra: keep AddressSanitizer happy
The vector size must be increased before setting the element so that AddressSanitizer can keep track of the accessible memory. Type: fix Change-Id: I7b13ce98ff29d98e643f399ec1ecb4681d3cec92 Signed-off-by: Benoît Ganne <bganne@cisco.com>
Diffstat (limited to 'src/vppinfra/pool.h')
-rw-r--r--src/vppinfra/pool.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/vppinfra/pool.h b/src/vppinfra/pool.h
index ef816096ff0..ea22af4a68b 100644
--- a/src/vppinfra/pool.h
+++ b/src/vppinfra/pool.h
@@ -295,8 +295,9 @@ _pool_put_index (void *p, uword index, uword elt_sz)
/* Preallocated pool? */
if (ph->max_elts)
{
- ph->free_indices[_vec_len (ph->free_indices)] = index;
- vec_inc_len (ph->free_indices, 1);
+ u32 len = _vec_len (ph->free_indices);
+ vec_set_len (ph->free_indices, len + 1);
+ ph->free_indices[len] = index;
}
else
vec_add1 (ph->free_indices, index);