やはりきさまのせいか
一週間前になるが、マイクロソフト セキュリティ情報 MS11-025 Microsoft Foundation Class (MFC) ライブラリの脆弱性により、リモートでコードが実行される (2500212)が更新された。
このMS11-025、MFCで作ったプログラムが肥大化するできの悪いパッチで、できの悪さ故にMFCを見限って、MFCを使わずにBookSyncを書き換えたほどであった。
自作プログラムではMFCを使わなくなったので自作プログラムへの影響はなくなったが、更新プログラムが更新されたのでMFCをスタティックリンクしたプログラムがMS11-025を入れる前にコンパイルしたプログラムより肥大化する不具合が直っているかどうかを拙作BookSync Version 2.58の開発中だった版をコンパイルして試してみた。
その結果、案の定な結果がでた。
古い版のMS11-025を入れた後のVisual Studio 2008でコンパイルしたEXEファイル:1,982,464 Bytes
新しい版のMS11-025を入れた後のVisual Studio 2008でコンパイルしたEXEファイル:756,224 Bytes
やはり、MFCをスタティックリンクしたプログラムがMS11-025を入れる前にコンパイルしたプログラムより肥大化する現象もMS11-025の不具合だったのである。
こっそりWindows 2000向けに MS11-025が更新されたよでは、Windows 2000での不具合について書かれているが、MFCをスタティックリンクしたプログラムの肥大化についてはMS11-025のページにも書かれてないわけで、これは書いておかなければいかんだろう。
BookSyncについてはMFCを捨てたおかげで機能拡張を行うことができるようになった面があるので、損ばかりではないが、MFCを使わないように書き換えた時間が無駄になったわけで少し腹立たしいといえば、腹立たしい。