Аз съм сравнително нов както за valgrind, така и за C и имам проблеми с тълкуването какво точно не е наред с моя код. Получавам невалиден размер на четене от 1 на ред 285 и той казва, че адресът е 0 байта, след като е разпределен блок от 5. Моето разпределение е както следва:
output = malloc(sizeof(char**));
output[0] = malloc(sizeof(char*)*size);
for(i = 0; i < size; i++){
output[0][i] = malloc(wordLength);
}
и невалидният размер на четене и околните редове са:
for(j = 0; j < size; j++){
printf("%s, ", output[0][j]);
free(output[0][j]);
}
Не освобождавам тези данни никъде другаде в моя код, така че не съм сигурен какво не е наред. Освен това всъщност има повече от един 2d масив в изхода, но не смятах, че е необходимо да навлизам в това, тъй като тази грешка изглежда се корени в този конкретен случай.