← Thursday, October 15, 2026Performance & OSNews

Android 17 bionic wide-character scans can misidentify non-ASCII text

github.com 7 min read Editor score 7/10

On affected Android 17 builds, wcscspn() and wcspbrk() can treat the first character at or above U+0100 as a match under a specific reject-set condition. The issue shows how a low-level libc bug can break text scanning across emoji and non-Latin scripts.

What
Android 17 September builds have a bionic bug in wcscspn() and wcspbrk() that can misidentify non-ASCII text as a match.
How
With a reject set of at least two characters below U+0100, scans stop at any haystack character at or above U+0100; other listed wide-string functions work correctly.
Why it matters
Wide-character delimiter scans can break on emoji, CJK and other non-ASCII text, so engineers should test such inputs.
fills scanned lookup reject set haystack bool table wcscspn
The reject set populates a table that wcscspn uses while scanning the haystack. Sketched from the article's own text.

Discussion

Discussion is not switched on yet. Use Note above to keep your own thoughts on this story.

Headline, summary, brief and diagram are written by a model from the source's own text; the link, byline and numbers come from the source. Read the original before relying on a claim.

Your note

Private to you. Stored in this browser, and synced to your account when you are signed in.