Clear entity content in case of errors

This only affects recovery mode and avoids integer overflow in
xmlStringGetNodeList and possibly other nasty surprises.

See bug 783052 and

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3874
https://bugs.chromium.org/p/chromium/issues/detail?id=796804
1 file changed
tree: d956e68bea014ee442683293322cccac7d8e2411
  1. .gitignore
  2. .travis.yml
  3. AUTHORS
  4. CONTRIBUTING
  5. ChangeLog
  6. Copyright
  7. DOCBparser.c
  8. HTMLparser.c
  9. HTMLtree.c
  10. INSTALL.libxml2
  11. MAINTAINERS
  12. Makefile.am
  13. Makefile.tests
  14. Makefile.win
  15. NEWS
  16. README
  17. README.cvs-commits
  18. README.tests
  19. README.zOS
  20. SAX.c
  21. SAX2.c
  22. TODO
  23. TODO_SCHEMAS
  24. VxWorks/
  25. acinclude.m4
  26. autogen.sh
  27. bakefile/
  28. buf.c
  29. buf.h
  30. build_glob.py
  31. c14n.c
  32. catalog.c
  33. check-relaxng-test-suite.py
  34. check-relaxng-test-suite2.py
  35. check-xinclude-test-suite.py
  36. check-xml-test-suite.py
  37. check-xsddata-test-suite.py
  38. chvalid.c
  39. chvalid.def
  40. configure.ac
  41. dbgen.pl
  42. dbgenattr.pl
  43. debugXML.c
  44. dict.c
  45. doc/
  46. elfgcchack.h
  47. enc.h
  48. encoding.c
  49. entities.c
  50. error.c
  51. example/
  52. genChRanges.py
  53. genUnicode.py
  54. gentest.py
  55. global.data
  56. globals.c
  57. hash.c
  58. include/
  59. legacy.c
  60. libxml-2.0-uninstalled.pc.in
  61. libxml-2.0.pc.in
  62. libxml.3
  63. libxml.h
  64. libxml.m4
  65. libxml.spec.in
  66. libxml2-config.cmake.in
  67. libxml2.doap
  68. libxml2.syms
  69. list.c
  70. macos/
  71. nanoftp.c
  72. nanohttp.c
  73. optim/
  74. os400/
  75. parser.c
  76. parserInternals.c
  77. pattern.c
  78. python/
  79. regressions.py
  80. regressions.xml
  81. relaxng.c
  82. result/
  83. rngparser.c
  84. runsuite.c
  85. runtest.c
  86. runxmlconf.c
  87. save.h
  88. schematron.c
  89. test/
  90. testAutomata.c
  91. testC14N.c
  92. testHTML.c
  93. testModule.c
  94. testOOM.c
  95. testOOMlib.c
  96. testOOMlib.h
  97. testReader.c
  98. testRegexp.c
  99. testRelax.c
  100. testSAX.c
  101. testSchemas.c
  102. testThreads.c
  103. testThreadsWin32.c
  104. testURI.c
  105. testXPath.c
  106. testapi.c
  107. testchar.c
  108. testdict.c
  109. testdso.c
  110. testlimits.c
  111. testrecurse.c
  112. threads.c
  113. timsort.h
  114. tree.c
  115. trio.c
  116. trio.h
  117. triodef.h
  118. trionan.c
  119. trionan.h
  120. triop.h
  121. triostr.c
  122. triostr.h
  123. uri.c
  124. valid.c
  125. vms/
  126. win32/
  127. xinclude.c
  128. xlink.c
  129. xml2-config.1
  130. xml2-config.in
  131. xml2Conf.sh.in
  132. xmlIO.c
  133. xmlcatalog.c
  134. xmllint.c
  135. xmlmemory.c
  136. xmlmodule.c
  137. xmlreader.c
  138. xmlregexp.c
  139. xmlsave.c
  140. xmlschemas.c
  141. xmlschemastypes.c
  142. xmlstring.c
  143. xmlunicode.c
  144. xmlwriter.c
  145. xpath.c
  146. xpointer.c
  147. xstc/
  148. xzlib.c
  149. xzlib.h