#5697 closed enhancement (fixed)
libxml2-2.9.2
| Reported by: | Fernando de Oliveira | Owned by: | Pierre Labastie |
|---|---|---|---|
| Priority: | normal | Milestone: | 7.7 |
| Component: | BOOK | Version: | SVN |
| Severity: | normal | Keywords: | |
| Cc: |
Change History (10)
comment:1 by , 11 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
| Summary: | libxml2-sources-2.9.2 → libxml2-2.9.2 |
comment:2 by , 11 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
comment:3 by , 11 years ago
actually tested (built) appdata-tools-0.1.8 audacious-3.5.1 bind-9.10.0-P2 dconf-0.22.0 docbook-xsl-1.78.1 fontconfig-2.11.1 GConf-3.2.6 gstreamer-0.10.36 gvfs-1.22.1 httpd-2.4.10 libcroco-0.6.8 libglade-2.6.4 libgsf-1.14.30 libsoup-2.48.0 libxklavier-5.3 libxslt-1.1.28 llvm-3.5.0 mariadb-10.0.14 neon-0.30.1 php-5.6.2 postgresql-9.3.5 scons-2.3.4 shared-mime-info-1.3 strigi-0.7.8 transcode-1.1.7 vlc-2.1.5 vte-0.38.1 xcb-proto-1.11
comment:4 by , 11 years ago
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
There is a problem when using xmllint --noent. The man page says:
--noent
Substitute entity values for entity references. By default, xmllint leaves
entity references in place.
But the new version does not honor --noent.
I will revert this version of libxml2 for now.
comment:5 by , 11 years ago
| Owner: | changed from to |
|---|---|
| Status: | reopened → new |
comment:6 by , 11 years ago
| Milestone: | 7.7 → hold |
|---|
comment:7 by , 11 years ago
| Milestone: | hold → 7.7 |
|---|
Looks like there's a fix:
--- a/parser.c
+++ b/parser.c
@@ -7235,7 +7235,8 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
* far more secure as the parser will only process data coming from
* the document entity by default.
*/
- if ((ent->checked == 0) &&
+ if (((ent->checked == 0) ||
+ ((ent->children == NULL) && (ctxt->options & XML_PARSE_NOENT))) &&
((ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) ||
(ctxt->options & (XML_PARSE_NOENT | XML_PARSE_DTDVALID)))) {
unsigned long oldnbent = ctxt->nbentities;
I have not tested.
comment:8 by , 11 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
Will test today, and reinstate into the book if it works. For the records, xmlcatalog needs a fix too:
--- a/parser.c
+++ b/parser.c
@@ -14830,9 +14830,6 @@ xmlInitParser(void) {
#ifdef LIBXML_XPATH_ENABLED
xmlXPathInit();
#endif
-#ifdef LIBXML_CATALOG_ENABLED
- xmlInitializeCatalog();
-#endif
xmlParserInitialized = 1;
#ifdef LIBXML_THREAD_ENABLED
}
This one is trickier to add as a sed...
comment:10 by , 11 years ago
If you just delete the xmlInitializeCatalog(); line, the other two don't matter.
Note:
See TracTickets
for help on using tickets.

Fixed at r14647.