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

LibWeb: Avoid assertion failure on parsing numeric character references

This commit is contained in:
ovf 2021-07-28 00:37:26 +01:00 committed by Andreas Kling
parent 5fe3cc3b85
commit 898b8ffcb6
2 changed files with 6 additions and 6 deletions

View file

@ -166,7 +166,7 @@ TEST_CASE(multiple_attributes)
TEST_CASE(character_reference_in_attribute) TEST_CASE(character_reference_in_attribute)
{ {
auto tokens = run_tokenizer("<p foo=a&amp;b bar='a&amp;b' baz=\"a&amp;b\">"); auto tokens = run_tokenizer("<p foo=a&amp;b bar='a&#38;b' baz=\"a&#x26;b\">");
BEGIN_ENUMERATION(tokens); BEGIN_ENUMERATION(tokens);
EXPECT_START_TAG_TOKEN(p); EXPECT_START_TAG_TOKEN(p);
EXPECT_TAG_TOKEN_ATTRIBUTE_COUNT(3); EXPECT_TAG_TOKEN_ATTRIBUTE_COUNT(3);

View file

@ -1554,7 +1554,7 @@ _StartOfFunction:
ON('#') ON('#')
{ {
m_temporary_buffer.append(current_input_character.value()); m_temporary_buffer.append(current_input_character.value());
SWITCH_TO(NumericCharacterReference); SWITCH_TO_WITH_UNCLEAN_BUILDER(NumericCharacterReference);
} }
ANYTHING_ELSE ANYTHING_ELSE
{ {
@ -1630,12 +1630,12 @@ _StartOfFunction:
ON('X') ON('X')
{ {
m_temporary_buffer.append(current_input_character.value()); m_temporary_buffer.append(current_input_character.value());
SWITCH_TO(HexadecimalCharacterReferenceStart); SWITCH_TO_WITH_UNCLEAN_BUILDER(HexadecimalCharacterReferenceStart);
} }
ON('x') ON('x')
{ {
m_temporary_buffer.append(current_input_character.value()); m_temporary_buffer.append(current_input_character.value());
SWITCH_TO(HexadecimalCharacterReferenceStart); SWITCH_TO_WITH_UNCLEAN_BUILDER(HexadecimalCharacterReferenceStart);
} }
ANYTHING_ELSE ANYTHING_ELSE
{ {
@ -1696,7 +1696,7 @@ _StartOfFunction:
} }
ON(';') ON(';')
{ {
SWITCH_TO(NumericCharacterReferenceEnd); SWITCH_TO_WITH_UNCLEAN_BUILDER(NumericCharacterReferenceEnd);
} }
ANYTHING_ELSE ANYTHING_ELSE
{ {
@ -1716,7 +1716,7 @@ _StartOfFunction:
} }
ON(';') ON(';')
{ {
SWITCH_TO(NumericCharacterReferenceEnd); SWITCH_TO_WITH_UNCLEAN_BUILDER(NumericCharacterReferenceEnd);
} }
ANYTHING_ELSE ANYTHING_ELSE
{ {