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
6 lines
265 B
HTML
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>
|