jsstr.cpp 内の Utf8ToOneUcs4Char における、冗長な UTF-8 シーケンスの検出処理の問題(bug 511859)
8月終わり頃から取り組んでいたバグの修正と仕様の変更がTrunkにチェックインされました。
実際には、
- JavaScriptのdecodeURI(),decodeURIComponent()が%エンコードされた冗長なUTF-8に対して U+FFFD を返すのではなくURIErrorを投げるようにする(bug514760)
- decodeURIのバックエンドで使用されている内部処理で、UTF-8 のバイト列からを1文字の UCS-4 を得る際に、4バイト以上の形式の冗長なUTF-8の判定条件が間違っている(bug511859)
- 同じ内部処理での5バイト以上のUTF-8のサポート廃止(bug518347)
の3つをまとめて修正しています。
2009/11/19追加
Firefox 3.6 Beta Revision 3 に投入されました。