mirror of
https://github.com/GNOME/libxml2.git
synced 2025-10-19 20:33:13 +08:00

When creating XML_XINCLUDE_START nodes, the children of the original xi:include node must be freed, otherwise fallback content is copied twice, doubling runtime and memory consumption for each nested xi:fallback/xi:include pair. Found with libFuzzer.
84 lines
2.6 KiB
XML
84 lines
2.6 KiB
XML
<a>
|
|
<xi:include href="a01.xml" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a02.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a03.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a04.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a05.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a06.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a07.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a08.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a09.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a10.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a11.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a12.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a13.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a14.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a15.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
<xi:include href="a16.xml">
|
|
<xi:fallback>
|
|
<elem/>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</xi:fallback>
|
|
</xi:include>
|
|
</a>
|
|
|