From 9115c23bd5c871fea57b13a9bba44e5553962e06 Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Fri, 9 Jul 2021 13:58:44 +0100 Subject: [PATCH] LibWeb: Fix greedy CSS Tokenizer whitespace parsing Whitespace parsing was too greedy, consuming the first non- whitespace character after it. --- Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.cpp index 113b240cde..3afd27b886 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Tokenizer.cpp @@ -725,8 +725,11 @@ Token Tokenizer::consume_a_token() if (is_whitespace(input)) { dbgln_if(CSS_TOKENIZER_TRACE, "is whitespace"); - while (is_whitespace(peek_code_point().value())) + auto next = peek_code_point(); + while (next.has_value() && is_whitespace(next.value())) { (void)next_code_point(); + next = peek_code_point(); + } return create_new_token(Token::TokenType::Whitespace); }