rename(ファイル名ポインタA、ファイル名ポインタB)
でファイル名を変更しました。
ファイル名Bはrenameを呼び出すメソッド内でmallocしたものですので、
renameを呼び出した次の行で
free(ファイル名ポインタB)としています。
このときfree(ファイル名ポインタB)の部分を実行するとなぜか
処理が落ちてしまいます。
エラーメッセージ
Debug #Errror!
Program:xxxxx.exe
DAMAGE:after Normal block(#48)at x04642030
(press Retry to debug the application)
これはどのような原因が考えられますか?
デバッグ実行してもメモリ開放していないことについて
警告するメッセージが表示されないなども気になります。
以上宜しくお願いします。
mallocした領域より
ファイル名が長いという落ちは?
ファイル名の最後は\0で必要があるので、
必要とされるメモリーは文字の長さよりも長い
-----
メモリー破壊してる可能性あり
回答ありがとうございます。
ご指摘頂いた内容をもとに調べてみたところ
\0が文字列の中にありませんでした。
そのためfreeしたときに隣の場所まで開放されエラーになってしまったのですね
助かりました。