ladybird/Tests/LibWeb/Crash/DOM/xpath-evaluate-rootless-document.html
sideshowbarker 4af1b9357b LibWeb: Don't crash when evaluating XPath against a rootless document
Problem: Crash when evaluating an XPath expression against a document
that has no root element.

Cause: mirror_node()’s DOCUMENT_NODE branch unconditionally mirrored
document.document_element(). But a document may lack a root element —
in which case, document_element() returns null.

Fix: Return null from mirror_node() when the document has no root
element. (The caller already maps a null mirror result to a failed
evaluation, and raises an error in that case.)

Fixes https://github.com/LadybirdBrowser/ladybird/issues/10004
2026-06-23 08:59:01 +02:00

6 lines
265 B
HTML

<!DOCTYPE html>
<script>
// createDocument with an empty qualified name yields a document with no root element.
const doc = document.implementation.createDocument(null, "", null);
document.evaluate("/", doc, null, XPathResult.ANY_TYPE, null);
</script>