LibWeb: Reject improperly encoded XML documents as not well-formed

This commit is contained in:
Idan Horowitz 2023-11-17 15:14:07 +02:00 committed by Andreas Kling
parent 278e8afb42
commit 9677d8eeac

View file

@ -159,6 +159,9 @@ bool build_xml_document(DOM::Document& document, ByteBuffer const& data, Optiona
decoder = TextCodec::decoder_for(encoding);
}
VERIFY(decoder.has_value());
// Well-formed XML documents contain only properly encoded characters
if (!decoder->validate(data))
return false;
auto source = decoder->to_utf8(data).release_value_but_fixme_should_propagate_errors();
XML::Parser parser(source, { .resolve_external_resource = resolve_xml_resource });
XMLDocumentBuilder builder { document };