From d1678e03ff0f7458a662b3f5073149cd81ae7afb Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Tue, 15 Jul 2025 06:18:31 +0100 Subject: [PATCH] LibWeb: Check parent node exists before checking its type --- Libraries/LibWeb/XML/XMLDocumentBuilder.cpp | 2 +- Tests/LibWeb/Crash/DOM/xhtml-namespace-change.xhtml | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 Tests/LibWeb/Crash/DOM/xhtml-namespace-change.xhtml diff --git a/Libraries/LibWeb/XML/XMLDocumentBuilder.cpp b/Libraries/LibWeb/XML/XMLDocumentBuilder.cpp index 43cbc719580..1316bce4e03 100644 --- a/Libraries/LibWeb/XML/XMLDocumentBuilder.cpp +++ b/Libraries/LibWeb/XML/XMLDocumentBuilder.cpp @@ -232,7 +232,7 @@ void XMLDocumentBuilder::element_end(const XML::Name& name) }; auto* parent = m_current_node->parent_node(); - if (parent->is_document_fragment()) { + if (parent && parent->is_document_fragment()) { auto template_parent_node = m_template_node_stack.take_last(); parent = template_parent_node.ptr(); } diff --git a/Tests/LibWeb/Crash/DOM/xhtml-namespace-change.xhtml b/Tests/LibWeb/Crash/DOM/xhtml-namespace-change.xhtml new file mode 100644 index 00000000000..895af4720b6 --- /dev/null +++ b/Tests/LibWeb/Crash/DOM/xhtml-namespace-change.xhtml @@ -0,0 +1,7 @@ + + +