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