VistaでMSYSが変なエラーを吐いて突如動かなくなる件

まず、MinGWCygwinとMSYSをVistaにインストールしているというカオスな状態なんやが、インストールして暫くは特に問題なく動いていた。主にCygwinをメインで使ってたんで気付かんかったんやと思うが、ふとMSYSを使ってみると動かない。MinGWは普通に動くが、例えばMSYSのmakeが動かない。

      0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 
AllocationBase 0x0, BaseAddress 0x71110000, RegionSize 0x340000, State 0x10000
C:\msys\1.0\bin\make.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

よくわからんが、VirtualMallocが失敗しているらしい。色々検索して調べてたらやっぱ皆色々あったらしく、MSの更新入れたら何故か動いたよ、とかVista64のバグを修正したやつ入れたらどうよ、とかなんか情報が交錯してて、とりあえず最新版入れてみようとTechnology Preview版のmsys-1.0.dllを入れたら何故か動いた。が、暫くして再発。再び検索の旅へ出て、ようやくまともな解説ページを見付けた。

なんかmsvcrt.dllの最近のリリースで引数チェックが厳しくなったにも拘らず、GCCがチェックしてないからエラーになるとか書いてある気がする。つまり、元々間違ったパラメータやったけど今迄は大目に見てたから表面化せず、ここに来て厳しくなったから表面化した、と…。なんか似たような話をVistaIME関係でも聞いたような…。Excelよろしくバグも継承していけばいいのに、最近のMSの開発者は真面目な人が多いんやろうか。単に修正による影響を想像できずにやっちゃっただけかもしらんが…。
とりあえずこのページの最後のほうにある、msys-1.0-rebased.zipに入ってるやつで動いた。今度は再発しないことを祈る。