From 117587f66de7f667daabf90f9f4e8bf2089b9a24 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Mon, 14 Sep 2026 08:45:15 -0400 Subject: array: Better assert for remove_at() Signed-off-by: Andrew Opalach --- src/array.c | 2 +- tests/array.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/array.c b/src/array.c index d29aa8b..b695219 100644 --- a/src/array.c +++ b/src/array.c @@ -64,7 +64,7 @@ if (i == (array).count - 1) { \ (array).count--; \ } else { \ - al_assert((u32)i < (array).count); \ + al_assert((u32)i < (array).count - 1); \ al_memmove(al_array_offset(array, i), al_array_offset(array, i + 1), \ al_array_item_size(array) * (--(array).count - i)); \ } \ diff --git a/tests/array.c b/tests/array.c index 35b36e7..fce9d5f 100644 --- a/tests/array.c +++ b/tests/array.c @@ -335,6 +335,7 @@ static bool array_test_foreach(void) u32 iter1; al_array_foreach_rev(ints, i, iter1) { + AL_TEST_LT(i, ints.count, u32); AL_TEST_EQ(iter1, i, u32); } @@ -345,6 +346,7 @@ static bool array_test_foreach(void) u32 iter2; al_array_foreach_rev(ints, i, iter2) { + AL_TEST_LT(i, ints.count, u32); AL_TEST_EQ(iter2, i, u32); al_array_remove_at(ints, i); } -- cgit v1.2.3-101-g0448