C言語 XP と関係ないかもしれませんがWin32APIでウィンドウズプログラムしてるものです。
抽象的な質問で申し訳ないのですが
malloc()を呼び出すと強制終了になる場合、どんな理由がありますか
メモリ不足により指定サイズ分のメモリが確保できないときには強制終了でなくNULLを返すということなら
強制終了してしまうようなときには別の理由があるんでしょうか。