Ticket #36390

サロゲートペア代替文字処理の不備

Open Date: 2016-06-15 19:25 Last Update: 2016-07-05 00:54

Reporter:
Owner:
Type:
Status:
Closed
Component:
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

連続するサロゲートペアが現れるUnicode文字列(⊇UCS-4文字で記述されたUnicode文字列)をContentBuilderUCS2.javaに読み込ませた時の代替文字置換処理に不備が発見された。

U+1F411を表す連続したサロゲートペアchar文字、[\ud83d,\udc11]を入力すると、[ 0xd8,0x3d、0xdc、0x11 ]の4つのデコードエラーと共に代替文字4文字からなる"????"が出力されるはず。だが"????"の後に\udc11が追加された5文字が出力される。

この障害はチケット#36356の調査中に露見したものである。 少なくとも JinParser 1.407.2 の頃から存在する障害。

※サロゲートペアが異常系として処理されること自体は仕様。

後続サロゲートペアchar文字を代替文字列に含めないよう修正が必要。

Ticket History (3/4 Histories)

2016-06-15 19:25 Updated by: olyutorskii
  • New Ticket "サロゲートペア代替文字処理の不備" created
2016-06-15 19:26 Updated by: olyutorskii
  • Resolution Update from None to Accepted
2016-06-17 02:26 Updated by: olyutorskii
  • Resolution Update from Accepted to Fixed
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2016-06-17 02:26
Comment

JinParser 1.408.6 にて対処。 https://osdn.jp/rel/jindolf/JinParser/1.408.6

2016-07-05 00:54 Updated by: olyutorskii
Comment

JinParser1.409.2よりサロゲートペア出現は正常系として通すようになった。

サロゲートペアを異常系として弾くのはJindolf側の責務となった。(EntityConverterのオプション機能としてサロゲートペアを弾くオプションを追加)

JinArchiverではサロゲートペアを弾かない仕様となる予定。

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login