summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2009-12-01 02:05:28 +0000
committerFelipe Pena <felipe@php.net>2009-12-01 02:05:28 +0000
commit1ca7c276389d7fc0990a7218c3c96ca72c7e1c18 (patch)
treec3a037f467878ed7ade558d53513432f4fa8322f
parentaa1904f4abfe1c4c72c2492b0e40b3d292aa905f (diff)
downloadphp-git-1ca7c276389d7fc0990a7218c3c96ca72c7e1c18.tar.gz
- Fixed bug #49660 (libxml 2.7.3+ limits text nodes to 10MB). (Felipe)
- Added LIBXML_PARSEHUGE constant to overrides the maximum text size of a single text node when using libxml2.7.3+. (Kalle) [DOC]
-rw-r--r--NEWS4
-rw-r--r--ext/libxml/libxml.c3
-rw-r--r--ext/soap/php_xml.c3
3 files changed, 10 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 638376882b..8b1806e268 100644
--- a/NEWS
+++ b/NEWS
@@ -1,11 +1,15 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? Dec 2009, PHP 5.2.12RC4
+- Added LIBXML_PARSEHUGE constant to overrides the maximum text size of a
+ single text node when using libxml2.7.3+. (Kalle)
+
- Improved fix for bug #50006 (Segfault caused by uksort()). (Stas)
- Fixed bug #50266 (conflicting types for llabs). (Jani)
- Fixed bug #50168 (FastCGI fails with wrong error on HEAD request to
non-existant file). (Dmitry)
+- Fixed bug #49660 (libxml 2.7.3+ limits text nodes to 10MB). (Felipe)
27 Nov 2009, PHP 5.2.12RC3
- Fixed break in the build chain introduced in 5.2.12RC2 (Jani)
diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c
index 930cf49307..bc4203b919 100644
--- a/ext/libxml/libxml.c
+++ b/ext/libxml/libxml.c
@@ -627,6 +627,9 @@ static PHP_MINIT_FUNCTION(libxml)
REGISTER_LONG_CONSTANT("LIBXML_COMPACT", XML_PARSE_COMPACT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("LIBXML_NOXMLDECL", XML_SAVE_NO_DECL, CONST_CS | CONST_PERSISTENT);
#endif
+#if LIBXML_VERSION >= 20703
+ REGISTER_LONG_CONSTANT("LIBXML_PARSEHUGE", XML_PARSE_HUGE, CONST_CS | CONST_PERSISTENT);
+#endif
REGISTER_LONG_CONSTANT("LIBXML_NOEMPTYTAG", LIBXML_SAVE_NOEMPTYTAG, CONST_CS | CONST_PERSISTENT);
/* Error levels */
diff --git a/ext/soap/php_xml.c b/ext/soap/php_xml.c
index 4bc14a46d3..30d34535e6 100644
--- a/ext/soap/php_xml.c
+++ b/ext/soap/php_xml.c
@@ -138,6 +138,9 @@ xmlDocPtr soap_xmlParseMemory(const void *buf, size_t buf_size)
ctxt->sax->warning = NULL;
ctxt->sax->error = NULL;
/*ctxt->sax->fatalError = NULL;*/
+#if LIBXML_VERSION >= 20703
+ ctxt->options |= XML_PARSE_HUGE;
+#endif
xmlParseDocument(ctxt);
if (ctxt->wellFormed) {
ret = ctxt->myDoc;