From 62183e5fe6ce78d9968f5cf90d0fb19ffc6a0da7 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Sat, 9 Aug 2025 20:43:02 -0500 Subject: [PATCH] Security: Controller thread cleanup needs to check that used < size in array. --- sources/c/program/controller/main/thread/cleanup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/c/program/controller/main/thread/cleanup.c b/sources/c/program/controller/main/thread/cleanup.c index 09468d6..7f032b3 100644 --- a/sources/c/program/controller/main/thread/cleanup.c +++ b/sources/c/program/controller/main/thread/cleanup.c @@ -180,8 +180,8 @@ extern "C" { f_memory_array_resize(0, sizeof(f_number_unsigned_t), (void **) &instance->stack.array, &instance->stack.used, &instance->stack.size); // Shrink the childs array. - if (instance->childs.used) { - for (; instance->childs.used && controller_thread_enable_get(&main->thread) == controller_thread_enable_e; --instance->childs.used) { + if (instance->childs.used && instance->childs.used < instance->childs.size) { + for (; instance->childs.used && instance->childs.used < instance->childs.size && controller_thread_enable_get(&main->thread) == controller_thread_enable_e; --instance->childs.used) { if (instance->childs.array[instance->childs.used]) break; } // for -- 1.8.3.1