1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:18:11 +00:00

LibWeb: Ignore malformed at-rules in CSS parser

Fixes #12405.
This commit is contained in:
Guilherme Gonçalves 2022-02-11 17:42:11 +00:00 committed by Andreas Kling
parent dece108f9a
commit a456759d7a
2 changed files with 7 additions and 3 deletions

View file

@ -1934,8 +1934,10 @@ RefPtr<CSSRule> Parser::convert_to_rule(NonnullRefPtr<StyleRule> rule)
auto media_query_tokens = TokenStream { rule->prelude() };
auto media_query_list = parse_a_media_query_list(media_query_tokens);
if (media_query_list.is_empty() || !rule->block())
return {};
auto child_tokens = TokenStream { rule->block().values() };
auto child_tokens = TokenStream { rule->block()->values() };
auto parser_rules = consume_a_list_of_rules(child_tokens, false);
NonnullRefPtrVector<CSSRule> child_rules;
for (auto& raw_rule : parser_rules) {
@ -1980,7 +1982,9 @@ RefPtr<CSSRule> Parser::convert_to_rule(NonnullRefPtr<StyleRule> rule)
return {};
}
auto child_tokens = TokenStream { rule->block().values() };
if (!rule->block())
return {};
auto child_tokens = TokenStream { rule->block()->values() };
auto parser_rules = consume_a_list_of_rules(child_tokens, false);
NonnullRefPtrVector<CSSRule> child_rules;
for (auto& raw_rule : parser_rules) {