>>475
単にfile_dataが'\0'で終ってないから、
前に確保して以前読み込んだファイルの内容がゴミとして残っていたものまで一緒に見えているだけ。
大抵の実装はfreeしてもデータそのものは残るし、
新たにmallocで確保する場合、以前freeした領域が再利用されることは多い。
前に読んだファイルよりも小さいサイズのファイルを読み込んだときにそれが起こらないか?