拡張カーネル v2.8j以降で.Net Framework 4.0アプリがクラッシュする理由がほぼ判明

拡張カーネルで、 PreferedLanguages オプションを無効にしないと .Net 4.0アプリがクラッシュする報告が何件か上がっていましたが原因が大体特定できたので報告なのです ・ω・

1. 原因の関数はGetUserPreferredUILanguages
 この関数だけ無効にすると動作する

2. クラッシュ原因は .Net 4.0 の clr.dll にあり?
 どうやら、GetUserPreferredUILanguages が複数の言語文字列を返すと、DLL側がバッファーオーバーフローで例外が出るらしい。

3. 対策としては、拡張カーネル側で GetUserPreferredUILanguages で返す文字列を1つに限定することですかね・ω・?

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です