fclose はエラーが発生すると EOF を返すらしいです。
クローズ処理でエラーが発生したら、つまりこのファイルはクローズされないんでしょうか?
もしそうなら、クローズするためにもう一度 fclose してもまたエラーになりそうですが、そーすると結局どうすれば FILE* を解放できるんでしょうか???