Ошибка в функции hash_table_destroy. У тебя поле tabel указывает на структуру, которая тоже указаывает на структуру и т.д. (т.е. связный список). free((*table)->table); - удалить лишь первый элемент списка и адес в поле (*table)->table->next потеряется и ее будет невозможно освободить.