私は valgrind と C の両方にかなり慣れていないため、コードの何が問題なのかを正確に解釈するのに苦労しています。285 行目で無効な読み取りサイズ 1 が表示され、5 のブロックが割り当てられた後、アドレスが 0 バイトであると表示されます。私の割り当ては次のとおりです。
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]);
}
コードの他の場所でこのデータを解放していないため、何が問題なのかわかりません。また、実際には出力内に複数の 2 次元配列がありますが、このエラーはこの特定のケースに根ざしているように見えるため、そこに入る必要はないと思いました。