LibWeb: Disallow non-ASCII font-language-override values

This commit is contained in:
Tim Ledbetter 2025-06-14 08:47:30 +01:00 committed by Tim Flynn
commit 64728aef6c
Notes: github-actions[bot] 2025-06-14 20:06:03 +00:00
2 changed files with 7 additions and 4 deletions

View file

@ -2622,11 +2622,15 @@ RefPtr<CSSStyleValue const> Parser::parse_font_language_override_value(TokenStre
dbgln_if(CSS_PARSER_DEBUG, "CSSParser: Failed to parse font-language-override: unexpected trailing tokens");
return nullptr;
}
auto length = string_value.code_points().length();
auto length = string_value.bytes().size();
if (length == 0) {
dbgln_if(CSS_PARSER_DEBUG, "CSSParser: Failed to parse font-language-override: <string> value is empty");
return nullptr;
}
if (!string_value.is_ascii()) {
dbgln_if(CSS_PARSER_DEBUG, "CSSParser: Failed to parse font-language-override: <string> value \"{}\" contains non-ascii characters", string_value);
return nullptr;
}
if (length > 4) {
dbgln_if(CSS_PARSER_DEBUG, "CSSParser: Failed to parse font-language-override: <string> value \"{}\" is too long", string_value);
return nullptr;

View file

@ -2,11 +2,10 @@ Harness status: OK
Found 6 tests
5 Pass
1 Fail
6 Pass
Pass e.style['font-language-override'] = "auto" should not set the property value
Pass e.style['font-language-override'] = "normal \"ksw\"" should not set the property value
Pass e.style['font-language-override'] = "\"turkish\"" should not set the property value
Fail e.style['font-language-override'] = "\"xøx\"" should not set the property value
Pass e.style['font-language-override'] = "\"xøx\"" should not set the property value
Pass e.style['font-language-override'] = "\"\"" should not set the property value
Pass e.style['font-language-override'] = "\"ENG \"" should not set the property value