Skip to content

Fix: reject invalid \uXXXX escape sequences - #1130

Open
YikunWei-dev wants to merge 1 commit into
DaveGamble:masterfrom
YikunWei-dev:fix/invalid-unicode-escape
Open

YikunWei-dev wants to merge 1 commit into
DaveGamble:masterfrom
YikunWei-dev:fix/invalid-unicode-escape

Conversation

@YikunWei-dev

Copy link
Copy Markdown

parse_hex4() returned 0 for both a valid U+0000 and an invalid hex sequence, so callers could not tell them apart. As a result, an invalid escape like "\uGGGG" was silently accepted and decoded into a single NUL byte instead of failing the parse.

Add an int *ok output parameter to parse_hex4() and make utf16_literal_to_utf8() fail when the hex digits are invalid. Update tests and add coverage for invalid escapes.

parse_hex4() returned 0 for both a valid U+0000 and an invalid hex
sequence, so callers could not tell them apart. As a result, an invalid
escape like "\uGGGG" was silently accepted and decoded into a single
NUL byte instead of failing the parse.

Add an int *ok output parameter to parse_hex4() and make
utf16_literal_to_utf8() fail when the hex digits are invalid. Update
tests and add coverage for invalid escapes.
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.

1 participant