1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2024-10-26 20:25:14 +03:00
libxml2/test
Nick Wellnhofer 01411e7c5e Check for invalid redeclarations of predefined entities
Implement section "4.6 Predefined Entities" of the XML 1.0 spec and
check whether redeclarations of predefined entities match the original
definitions.

Note that some test cases declared

    <!ENTITY lt "<">

But the XML spec clearly states that this is illegal:

> If the entities lt or amp are declared, they MUST be declared as
> internal entities whose replacement text is a character reference to
> the respective character (less-than sign or ampersand) being escaped;
> the double escaping is REQUIRED for these entities so that references
> to them produce a well-formed result.

Also fixes #217 but the connection is only tangential. The integer
overflow discovered by fuzzing was more related to the fact that various
parts of the parser disagreed on whether to prefer predefined entities
over their redeclarations. The whole situation is a mess and even
depends on legacy parser options. But now that redeclarations are
validated, it shouldn't make a difference.

As noted in the added comment, this is also one of the cases where
overly defensive checks can hide interesting logic bugs from fuzzers.
2021-02-08 21:51:26 +01:00
..
automata merged the current state of XML Schemas implementation, it is not 2002-04-16 15:50:10 +00:00
c14n Remove executable bit from non-executable files 2019-09-16 15:48:59 +02:00
catalogs applied patches from Peter Breitenlohner to fix handling of white space 2004-07-16 09:03:08 +00:00
dtds Huge commit: 1.5.0, XML validation, Xpath, bugfixes, examples .... Daniel 1999-08-10 19:04:08 +00:00
errors Check for invalid redeclarations of predefined entities 2021-02-08 21:51:26 +01:00
errors10 Fix handling of parameter-entity references 2017-06-05 18:38:33 +02:00
expr added the first regression test suite set for the new expression support 2005-08-22 12:58:05 +00:00
HTML add test coverage for incorrectly-closed comments 2020-12-16 16:12:07 +01:00
namespaces Added initial tests for some new DOM-wrapper helping functions. 2005-06-27 12:09:02 +00:00
pattern fixed implementation for | added a specific regression test Daniel 2005-02-05 23:20:22 +00:00
recurse completely different fix for the recursion detection based on entity 2008-08-28 15:36:32 +00:00
regexp Add regexp regression tests 2020-07-06 12:37:53 +02:00
relaxng Check for invalid redeclarations of predefined entities 2021-02-08 21:51:26 +01:00
schemas Remove executable bit from non-executable files 2019-09-16 15:48:59 +02:00
schematron report improvement more tests Daniel 2005-07-31 16:49:51 +00:00
scripts small typo pointed out by Mike Hommey slightly improved the --c14n 2004-08-16 00:39:03 +00:00
SVG Remove executable bit from non-executable files 2019-09-16 15:48:59 +02:00
threads Large batch of typo fixes 2019-09-30 18:04:38 +02:00
URI Rewrite/cleanup/tests of URI normalization: 2001-02-02 17:07:32 +00:00
valid Check for invalid redeclarations of predefined entities 2021-02-08 21:51:26 +01:00
VC applied patch from Malcolm Tredinnick fixing errata E20 concerning 2004-09-26 14:42:56 +00:00
VCM applied patch from Malcolm Tredinnick fixing errata E20 concerning 2004-09-26 14:42:56 +00:00
warning Bunch of new parser cleanup work: 2000-08-27 21:12:29 +00:00
WFC Huge commit: 1.5.0, XML validation, Xpath, bugfixes, examples .... Daniel 1999-08-10 19:04:08 +00:00
XInclude Fix regression introduced with commit 74dcc10b 2020-08-19 13:52:08 +02:00
xmlid relaxed id() to not check taht the name(s) passed are actually NCName, 2004-04-18 20:55:39 +00:00
XPath Improve XPath predicate and filter evaluation 2019-04-22 14:48:46 +02:00
xsdtest added PYTHONPATH to python tests for Schemas and RelaxNG added testfile 2004-03-31 02:01:32 +00:00
att1 Attribute nomarlization closing bug #3597 1999-11-17 17:32:38 +00:00
att2 Attribute nomarlization closing bug #3597 1999-11-17 17:32:38 +00:00
att3 Fixing #71342 serializing '\n' in attribute values added a specific test. 2002-02-13 13:07:41 +00:00
att4 Vyacheslav Pindyura managed to trigger a bug in parseStartTag, fixing it. 2002-12-16 22:04:11 +00:00
att5 adding namespace checkings while making sure they still parse as 2003-09-11 23:42:01 +00:00
att6 fixed a problem in push mode when attribute contains unescaped '>' 2004-02-18 14:28:22 +00:00
att7 xmlAttrSerializeTxtContent don't segfault if NULL is passed. adding an old 2004-02-20 08:18:58 +00:00
att8 fix bug reported by Holger Rauch added the test to th regression suite 2004-03-10 16:27:03 +00:00
att9 fix various attribute normalisation problems reported by Ashwin this 2008-03-25 16:52:41 +00:00
att10 fix various attribute normalisation problems reported by Ashwin this 2008-03-25 16:52:41 +00:00
att11 fix various attribute normalisation problems reported by Ashwin this 2008-03-25 16:52:41 +00:00
attrib.xml Someone found a bug hiding in a corner, caught it ! 2001-03-20 11:27:34 +00:00
badcomment.xml fixed the comment streaming bug raised by Graham Bennett added to the 2006-02-05 02:43:36 +00:00
bigentname.xml Bunch of new parser cleanup work: 2000-08-27 21:12:29 +00:00
bigname2.xml Bunch of new parser cleanup work: 2000-08-27 21:12:29 +00:00
bigname.xml Bunch of new parser cleanup work: 2000-08-27 21:12:29 +00:00
cdata Huge commit: 1.5.0, XML validation, Xpath, bugfixes, examples .... Daniel 1999-08-10 19:04:08 +00:00
cdata2 added the same htmlRead APIs than their XML counterparts new parser 2003-09-26 12:47:50 +00:00
cdata-2-byte-UTF-8.xml Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte character in large CDATA section is split across buffer <https://bugzilla.gnome.org/show_bug.cgi?id=760183> 2016-04-08 10:18:52 +08:00
cdata-3-byte-UTF-8.xml Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte character in large CDATA section is split across buffer <https://bugzilla.gnome.org/show_bug.cgi?id=760183> 2016-04-08 10:18:52 +08:00
cdata-4-byte-UTF-8.xml Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte character in large CDATA section is split across buffer <https://bugzilla.gnome.org/show_bug.cgi?id=760183> 2016-04-08 10:18:52 +08:00
comment2.xml Revamped HTML parsing, lots of bug fixes for HTML stuff, 1999-10-14 09:10:25 +00:00
comment3.xml boosting common commnent parsing code, it was really slow. added sprecific 2005-01-23 17:37:44 +00:00
comment4.xml boosting common commnent parsing code, it was really slow. added sprecific 2005-01-23 17:37:44 +00:00
comment5.xml boosting common commnent parsing code, it was really slow. added sprecific 2005-01-23 17:37:44 +00:00
comment6.xml fixed the push mode when a big comment occurs before an internal subset, 2007-06-12 14:44:32 +00:00
comment.xml Revamped HTML parsing, lots of bug fixes for HTML stuff, 1999-10-14 09:10:25 +00:00
dav1 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav2 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav3 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav4 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav5 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav6 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav7 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav8 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav9 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav10 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav11 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav12 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav13 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav15 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav16 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav17 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav18 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dav19 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
defattr2.xml allow to inherit attributes from the DTD directly in the tree, this is 2001-08-07 01:10:10 +00:00
defattr.xml allow to inherit attributes from the DTD directly in the tree, this is 2001-08-07 01:10:10 +00:00
dia1 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dia2 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dtd1 Release 0.2, 80% rewrite, nothing left intact ... Daniel 1998-08-13 03:39:55 +00:00
dtd2 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dtd3 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dtd4 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dtd5 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dtd6 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dtd7 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dtd8 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dtd9 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dtd10 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
dtd11 adding XInclude support to the reader interface. Lot of testing of the 2003-11-03 12:31:38 +00:00
dtd12 This is the 2.0.0-beta, lots and lots and lots of changes 2000-03-14 18:30:20 +00:00
dtd13 Added a bunch of testsuite realted files missing, Daniel. 2000-07-14 14:54:24 +00:00
ebcdic_566012.xml 566012 part 2 fix regresion tests and push mode 2009-08-26 14:37:00 +02:00
emptycdata.xml fix handling of empty CDATA nodes as reported and discussed around #514181 2008-03-07 16:50:21 +00:00
ent1 Release 0.2, 80% rewrite, nothing left intact ... Daniel 1998-08-13 03:39:55 +00:00
ent2 Fixed back modified tests erased on last commit, daniel 2004-11-07 12:20:06 +00:00
ent3 Release 0.2, 80% rewrite, nothing left intact ... Daniel 1998-08-13 03:39:55 +00:00
ent4 Changed the internals a lot for DOM, entity support, slight changes of API, 1998-10-27 06:21:04 +00:00
ent5 CharRef handling, comments, formatting, pre UTF-8 handling, Daniel. 1998-11-01 19:34:31 +00:00
ent6 adding XInclude support to the reader interface. Lot of testing of the 2003-11-03 12:31:38 +00:00
ent6hex Check for invalid redeclarations of predefined entities 2021-02-08 21:51:26 +01:00
ent7 Huge commit: 1.5.0, XML validation, Xpath, bugfixes, examples .... Daniel 1999-08-10 19:04:08 +00:00
ent8 BUG FIXED #2784 HTML parsing/output improvements Rebuilt, updated the docs 1999-10-25 13:15:52 +00:00
ent9 fixed a serious problem when substituing entities using the Reader, the 2004-06-08 12:03:41 +00:00
ent10 fixed the leak reported by Volker Roth on the list added a specific test 2004-10-25 16:23:56 +00:00
ent11 reverted first patches for #319279 which led to #326295 and fixed the 2006-01-09 14:38:44 +00:00
ent12 Adding extra test files, just in case ... Daniel 2006-10-10 20:12:24 +00:00
ent13 preparing the release of 2.7.2 fix the Solaris portability issue 2008-10-03 07:58:23 +00:00
ent_738805.xml Adding example from bugs 738805 to regression tests 2014-10-23 13:52:47 +08:00
eve.xml Huge commit: 1.5.0, XML validation, Xpath, bugfixes, examples .... Daniel 1999-08-10 19:04:08 +00:00
icu_parse_test.xml Add test for ICU flush and pivot buffer 2017-11-04 15:38:58 +01:00
intsubset2.xml found and fixed 2 problems in the internal subset scanning code affecting 2005-01-25 21:41:42 +00:00
intsubset.xml fixed bug #132575 about finding the end of the internal subset in push 2004-02-12 11:57:52 +00:00
isolat1 Added a bunch of testsuite realted files missing, Daniel. 2000-07-14 14:54:24 +00:00
isolat2 Added a bunch of testsuite realted files missing, Daniel. 2000-07-14 14:54:24 +00:00
isolat3 Added a bunch of testsuite realted files missing, Daniel. 2000-07-14 14:54:24 +00:00
japancrlf.xml Fix a parsing bug on non-ascii element and CR/LF usage 2013-05-22 22:56:45 +02:00
ns Revamped HTML parsing, lots of bug fixes for HTML stuff, 1999-10-14 09:10:25 +00:00
ns2 Revamped HTML parsing, lots of bug fixes for HTML stuff, 1999-10-14 09:10:25 +00:00
ns3 Revamped HTML parsing, lots of bug fixes for HTML stuff, 1999-10-14 09:10:25 +00:00
ns4 Oops, it seems I forgot to commit 1.8.4 changes 2000-01-14 14:45:24 +00:00
ns5 "" is a valid hexbinary string dixit xmlschema-dev update the test. added 2004-08-31 08:42:17 +00:00
ns6 fixed namespace bug in push mode reported by Rob Richards added it to the 2005-01-04 21:50:05 +00:00
ns7 fix bug #324432 with <xml:foo/> added to the regression tests Daniel 2006-01-04 14:03:10 +00:00
nsclean.xml applied patch from Malcolm Rowe to avoid namespace troubles on rollback 2005-06-09 08:18:24 +00:00
p3p Time to commit 3 days of work rewriting the parser internal, 2003-09-10 10:51:05 +00:00
pi2.xml Revamped HTML parsing, lots of bug fixes for HTML stuff, 1999-10-14 09:10:25 +00:00
pi.xml Revamped HTML parsing, lots of bug fixes for HTML stuff, 1999-10-14 09:10:25 +00:00
rdf1 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
rdf2 Updated the tests and result files for better conformances, added rdf2, Daniel 1999-01-17 13:48:01 +00:00
slashdot16.xml adding xmlMemBlocks() work on generator of an automatic API regression 2004-11-02 14:52:23 +00:00
slashdot.rdf Allocate a per-parser SAX table, correct the SAX results, Daniel. 1999-06-26 23:07:37 +00:00
slashdot.xml Allocate a per-parser SAX table, correct the SAX results, Daniel. 1999-06-26 23:07:37 +00:00
svg1 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
svg2 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
svg3 Allocate a per-parser SAX table, correct the SAX results, Daniel. 1999-06-26 23:07:37 +00:00
title.xml Changed the title external parsed entity in tests, Daniel 2000-08-20 15:32:58 +00:00
tstblanks.xml Bunch of new parser cleanup work: 2000-08-27 21:12:29 +00:00
utf8bom.xml - parser.c: fixed UTF8 BOM support in push mode 2001-06-28 12:13:56 +00:00
utf16bebom.xml 566012 part 2 fix regresion tests and push mode 2009-08-26 14:37:00 +02:00
utf16bom.xml patch from Dodji Seketeli about UTF16 BOM when using the push XML parser. 2003-07-16 21:18:19 +00:00
utf16lebom.xml Enhanced the handling of UTF-16, UTF-16LE and UTF-16BE encodings. Now 2003-11-28 09:39:10 +00:00
wap.xml - parser.c test/wap.xml result/noent/wap.xml result/wap.xml: 2000-10-15 10:02:56 +00:00
winblanks.xml fixing bug #166777 (and #169838), it was an heuristic in areBlanks which 2005-07-06 15:17:38 +00:00
wml.xml Added a bunch of testsuite realted files missing, Daniel. 2000-07-14 14:54:24 +00:00
xhtml1 applied second patch from David Madore to be less intrusive when handling 2005-09-12 14:03:26 +00:00
xhtmlcomp apply fix for XHTML1 formating from Nick Wellnhofer fixes bug #141266 2004-05-09 23:48:39 +00:00
xml1 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00
xml2 Release of libxml-1.1, Daniel. 1999-06-02 17:44:04 +00:00