Bug #49660 [Com]: libxml 2.7.3+ limits text nodes to 10MB

From: Date: Mon, 11 Jan 2016 16:36:29 +0000
Subject: Bug #49660 [Com]: libxml 2.7.3+ limits text nodes to 10MB
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-198575@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=49660&edit=1

 ID:                 49660
 Comment by:         pretandor at gmx dot de
 Reported by:        sta at netimage dot dk
 Summary:            libxml 2.7.3+ limits text nodes to 10MB
 Status:             Closed
 Type:               Bug
 Package:            SOAP related
 Operating System:   FreeBSD 7.1
 PHP Version:        *
 Assigned To:        gooh
 Block user comment: N
 Private report:     N

 New Comment:

For everyone who came across this bug and is not using SimpleXML directly but SoapClient, you can
switch to Zend Soap Component:

(standalone)
https://github.com/zendframework/zend-soap


Previous Comments:
------------------------------------------------------------------------
[2009-12-01 11:15:18] felipe@php.net

"Added LIBXML_PARSEHUGE constant to overrides the maximum text size of a single text node when
using libxml2.7.3+."

------------------------------------------------------------------------
[2009-12-01 02:06:10] felipe@php.net

This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.



------------------------------------------------------------------------
[2009-12-01 02:05:29] svn@php.net

Automatic comment from SVN on behalf of felipe
Revision: http://svn.php.net/viewvc/?view=revision&revision=291533
Log: - 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]

------------------------------------------------------------------------
[2009-09-28 11:31:14] sta at netimage dot dk

Hi Kalle.

Thanks for replying so soon.

Your patch does fix the issue when loading directly with 
simplexml_load_file('file.xml', 'SimpleXMLElement', LIBXML_PARSEHUGE);

However the error was not originally encountered using simplexml, but using SoapClient - and there
does not seem to be a way to pass libxml-options to SoapClient.

So as far as I can tell, the problem remains when using SoapClient.

/Thing

------------------------------------------------------------------------
[2009-09-26 12:12:14] kalle@php.net

I guess we could expose the constant value from ext/libxml if available like:
Index: libxml.c
===================================================================
--- libxml.c	(revision 288659)
+++ libxml.c	(working copy)
@@ -622,6 +622,9 @@
 	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 */


Does this work for you when passing it to SimpleXML's $option parameter?

(Patch made against PHP_5_3, but is just a 3 line c/p to other branches)

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=49660


--
Edit this bug report at https://bugs.php.net/bug.php?id=49660&edit=1


Thread (7 messages)

« previous php.bugs (#198575) next »