ファイルが 2 回閉じられています。
ファイルハンドルがクローズされると、そのファイルに関連付けられているリソースが解放されます。fclose を 2 回呼び出すと、解放されたメモリーを参照することになります。これは、特にストレージが別の用途に再利用されている場合には、予期しない動作を引き起こします。
ID |
問題箇所 |
説明 |
---|---|---|
1 |
リソースの割り当て解除 |
ファイルが最初にクローズされた場所 |
2 |
リソースの割り当て解除 |
ファイルが 2 回目にクローズされた場所 |
#include <stdio.h> int main(int argc, char **argv) { FILE *fp = fopen("newfile", "w"); if (fp != 0) { fclose(fp); fclose(fp); // bad } }
© 2010 Intel Corporation. 無断での引用、転載を禁じます。