Skip to content

fix(util): validate UTF-16 surrogate pairs - #294

Open
efegokdemir wants to merge 1 commit into
apache:mainfrom
efegokdemir:codex/issue-287-utf8-surrogates
Open

efegokdemir wants to merge 1 commit into
apache:mainfrom
efegokdemir:codex/issue-287-utf8-surrogates

Conversation

@efegokdemir

Copy link
Copy Markdown
Contributor

Summary

Fix UTF8Util.isWellFormed to accept valid non-BMP characters and reject unpaired UTF-16 surrogates.

Changes

  • Validate high/low surrogate pairing, including trailing high surrogates.
  • Add regressions for valid emoji and malformed surrogate sequences.

Testing

  • git diff --check — passed
  • Maven module tests — blocked locally because the environment only provides Java 8 while this project requires Java 17; the wrapper also requires an unavailable Java runtime.

Fixes #287

Signed-off-by: Efe Gokdemir <efegokdemir@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] UTF8Util.isWellFormed inverts the surrogate-pair check: valid non-BMP characters are rejected, lone surrogates accepted

1 participant