diff -r 7345ee0a0301 -r 35b2b99ee523 src/array_list.c --- a/src/array_list.c Sat Apr 22 14:09:46 2023 +0200 +++ b/src/array_list.c Sat Apr 22 14:21:02 2023 +0200 @@ -345,21 +345,22 @@ } } -static size_t cx_arl_find( +static ssize_t cx_arl_find( struct cx_list_s const *list, void const *elem ) { assert(list->cmpfunc != NULL); + assert(list->size < SIZE_MAX / 2); char *cur = ((cx_array_list const *) list)->data; - for (size_t i = 0; i < list->size; i++) { + for (ssize_t i = 0; i < (ssize_t) list->size; i++) { if (0 == list->cmpfunc(elem, cur)) { return i; } cur += list->item_size; } - return list->size; + return -1; } static void cx_arl_sort(struct cx_list_s *list) {