| |
とりあえず、9.52β8 にアップデートして動作検証をしてみました。
読み込む .hilight ファイルを、
// --------------------------------------------- test.hilight ----------------------------------
/<TreeWord>
/0000,0002,0000,00000000,40011253,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",""
/<TreeWordEx>
/TreeWordExData:0
// --------------------------------------------- test.hilight ----------------------------------
というようにして「内容」のフィールドを極端に多い文字数にしても、これがバッファーオーバーフローして
「グループ」のフィールドまで流れ込む現象は起きなくなりました。
しかし、ヘルプには「内容」のフィールドは
・ASCII : 1 文字
・Shift-JIS : 2 文字
・Unicode : 4 文字
に換算して合計で 250 文字まで指定できる、という趣旨のことが書かれているが、実際に動作検証したところ、
これとは大きく異なる結果となりました。
まず、ASCII の「a」を 250 個並べて
/0000,0002,0000,00000000,40011253,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",""
としたところ、本文で「a」が上記より少ない 101 個並んだ
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
にヒットしてしまいました。すなわち、「内容」のフィールドで実際に指定できる ASCII の最大文字数は 101 文字
と思われます。
次に、Shift-JIS の「あ」を 125 個並べて
/0000,0002,0000,00000000,40011253,"あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ",""
としたところ、本文で「あ」が ASCII のときと同じ 101 個並んだ
あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ
にヒットしました。
次に、Unicode の「ꀀ」を 125 個並べて
/0000,0002,0000,00000000,40011253,"ꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀ",""
としたところ、これも ASCII や Shift-JIS と同様に「ꀀ」が 101 個並んだ
ꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀꀀ
にヒットしました。
さらに、別の Unicode の「👩」を同様に 125 個並べて
/0000,0002,0000,00000000,40011253,"👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩",""
としましたが、今度は「ꀀ」のときと異なり、「👩」が 101 個並んだ
👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩👩
にはヒットしませんでした。
改めて、「👩」を 1 個だけ指定して
/0000,0002,0000,00000000,40011253,"👩",""
としましたが、
👩aaaa
などの「👩」から始まる行には一切ヒットしませんでした。これは完全なバグとみられます。
まとめると、「内容」フィールドに指定可能な最大文字数は
・ASCII の「a」 : 101 文字 ( 換算 101 文字 )
・Shift-JIS の「あ」 : 101 文字 ( 換算 202 文字 )
・Unicode の「ꀀ」 : 101 文字 ( 換算 404 文字 )
・Unicode の「👩」 : 動作せず
となりました。
|
|