diff options
author | Dmitry Valter <d-valter@yandex-team.ru> | 2022-04-08 10:08:32 +0000 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2022-04-08 16:15:32 +0000 |
commit | 1c8c6d302af494c963842de06910d3c1c8187e42 (patch) | |
tree | e990bf6af8f09619c7e3abc9d286b5c90b96357e | |
parent | d5045e68a782d484e3f0e54edb4a88dc3dfac291 (diff) |
stats: fix vector overrun in expend check
Do not access allocated elements beyond the end of the vector. They are
allocated, but not yet valid both logically (they are at best NULLs) and
according to ASAN.
Type: fix
Change-Id: Iaf43767d6d3bd4c24c7c5a0ba9b3410bbeeb0556
Signed-off-by: Dmitry Valter <d-valter@yandex-team.ru>
-rw-r--r-- | src/vlib/stats/stats.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vlib/stats/stats.c b/src/vlib/stats/stats.c index cb29ddaf378..a19909d0dc4 100644 --- a/src/vlib/stats/stats.c +++ b/src/vlib/stats/stats.c @@ -354,7 +354,7 @@ vlib_stats_validate_will_expand_internal (u32 entry_index, va_list *va) u32 idx1 = va_arg (*va, u32); u64 **data = e->data; - if (idx0 >= vec_max_len (data)) + if (idx0 >= vec_len (data)) goto done; for (u32 i = 0; i <= idx0; i++) @@ -369,7 +369,7 @@ vlib_stats_validate_will_expand_internal (u32 entry_index, va_list *va) va_end (*va); - if (idx0 >= vec_max_len (data)) + if (idx0 >= vec_len (data)) goto done; for (u32 i = 0; i <= idx0; i++) |