This bug manifested itself as segmentation fault of t_insert2_find test when
TEST_ORDER was increased from 13 to 14. When checking the validity of filled
table, the table is iterated from 0 to MAX_NUM. However, when order is an even
number, the size of the table is lower than MAX_NUM (due to table resizing),
which caused reading beyond the allocated memory.
static void
print_rate_of_fulfilment(void)
{
- int i;
int num_stacked_items = 0;
- for (i = 0; i < MAX_NUM; i++)
+ for (size_t i = 0; i < HASH_SIZE(hash); i++)
if (!hash.data[i])
num_stacked_items++;