うーん、以下のmemsetでエラーが起きていますが、原因がわかりません。
何も問題はなさそうに見えます。
if (gnItem>=gnItemMax) {
oldItemMax=gnItemMax;
gnItemMax=gnItem+4;
gptItem=realloc(gptItem,sizeof(tItem)*gnItemMax);
if (gptItem==NULL)
return -1004;
memset(gptItem+sizeof(tItem)*oldItemMax,0
,sizeof(tItem)*(gnItemMax-oldItemMax));
}
・初め、「gnItemMax=gnItem+5」としていたので、アラインメントの問題かと
思い、4に変えてみましたが(初期値も5→4、sizeof(tItem)は36)、直りません。
・「gptItemが壊れているかも」と思ってmallocの戻り値と比べてみましたが、
同じでした。
デバッグルーチンを入れるとエラーが出なくなるけど、削除すると出ます。
まあ、メモリ関係ではよくあることですが。
ほかに何か原因が考えられるでしょうか?
公開後もいじったので、現在のバージョンでは出なくなっていますが、
環境によっては出るかもしれないということですよね。