1
0
mirror of https://github.com/GNOME/libxml2.git synced 2025-10-19 20:33:13 +08:00
Files
libxml2/test/XInclude/docs/fallback5.xml
Nick Wellnhofer 1abf2967f9 Fix exponential runtime and memory in xi:fallback processing
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.
2020-08-07 19:59:07 +02:00

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>