From: Rob Richards Date: Thu, 18 Nov 2004 18:26:59 +0000 (+0000) Subject: MFH: Fixed bug #30832 ("!" stripped off comments in xml parser) X-Git-Tag: php-5.0.3RC1~41 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d67ee093e878551bd77e1a93378eac75ffb04066;p=php MFH: Fixed bug #30832 ("!" stripped off comments in xml parser) reset sax->initialized flag when not using SAX2 --- diff --git a/ext/xml/compat.c b/ext/xml/compat.c index c8cdf18110..d2154929a5 100644 --- a/ext/xml/compat.c +++ b/ext/xml/compat.c @@ -211,12 +211,12 @@ _notation_decl_handler(void *user, const xmlChar *notation, const xmlChar *sys_i static void _build_comment(const xmlChar *data, int data_len, xmlChar **comment, int *comment_len) { - *comment_len = data_len + 6; + *comment_len = data_len + 7; *comment = xmlMalloc(*comment_len + 1); - memcpy(*comment, "<--", 3); - memcpy(*comment + 3, data, data_len); - memcpy(*comment + 3 + data_len, "-->", 3); + memcpy(*comment, "", 3); (*comment)[*comment_len] = '\0'; } @@ -359,6 +359,12 @@ XML_ParserCreate_MM(const XML_Char *encoding, const XML_Memory_Handling_Suite *m parser->parser->sax2 = 1; #endif parser->_ns_seperator = xmlStrdup(sep); +#if LIBXML_VERSION >= 20600 + } else { + /* Reset flag as XML_SAX2_MAGIC is needed for xmlCreatePushParserCtxt + so must be set in the handlers */ + parser->parser->sax->initialized = 1; +#endif } return parser; }