Я довольно новичок как в 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, но я не думал, что это необходимо, поскольку эта ошибка, похоже, связана с этим конкретным случаем.