dmitry Wed, 23 Nov 2011 10:49:42 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=319714
Log: Fixed bug #48216 (PHP Fatal error: SOAP-ERROR: Parsing WSDL: Extra content at the end of the doc, when server uses chunked transfer encoding with spaces after chunk size) Bug: https://bugs.php.net/48216 (Assigned) PHP Fatal error: SOAP-ERROR: Parsing WSDL: Extra content at the end of the doc Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/standard/filters.c U php/php-src/branches/PHP_5_4/ext/standard/filters.c U php/php-src/trunk/ext/standard/filters.c Modified: php/php-src/branches/PHP_5_3/NEWS =================================================================== --- php/php-src/branches/PHP_5_3/NEWS 2011-11-23 10:47:58 UTC (rev 319713) +++ php/php-src/branches/PHP_5_3/NEWS 2011-11-23 10:49:42 UTC (rev 319714) @@ -66,6 +66,9 @@ is >0). (Ilia) - SOAP + . Fixed bug #48216 (PHP Fatal error: SOAP-ERROR: Parsing WSDL: + Extra content at the end of the doc, when server uses chunked transfer + encoding with spaces after chunk size). (Dmitry) . Fixed bug #44686 (SOAP-ERROR: Parsing WSDL with references). (Dmitry) - Tidy: Modified: php/php-src/branches/PHP_5_3/ext/standard/filters.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/standard/filters.c 2011-11-23 10:47:58 UTC (rev 319713) +++ php/php-src/branches/PHP_5_3/ext/standard/filters.c 2011-11-23 10:49:42 UTC (rev 319714) @@ -1897,7 +1897,6 @@ typedef enum _php_chunked_filter_state { CHUNK_SIZE_START, CHUNK_SIZE, - CHUNK_SIZE_EXT_START, CHUNK_SIZE_EXT, CHUNK_SIZE_CR, CHUNK_SIZE_LF, @@ -1937,7 +1936,7 @@ data->state = CHUNK_ERROR; break; } else { - data->state = CHUNK_SIZE_EXT_START; + data->state = CHUNK_SIZE_EXT; break; } data->state = CHUNK_SIZE; @@ -1948,13 +1947,6 @@ } else if (p == end) { return out_len; } - case CHUNK_SIZE_EXT_START: - if (*p == ';'|| *p == '\r' || *p == '\n') { - data->state = CHUNK_SIZE_EXT; - } else { - data->state = CHUNK_ERROR; - continue; - } case CHUNK_SIZE_EXT: /* skip extension */ while (p < end && *p != '\r' && *p != '\n') { Modified: php/php-src/branches/PHP_5_4/ext/standard/filters.c =================================================================== --- php/php-src/branches/PHP_5_4/ext/standard/filters.c 2011-11-23 10:47:58 UTC (rev 319713) +++ php/php-src/branches/PHP_5_4/ext/standard/filters.c 2011-11-23 10:49:42 UTC (rev 319714) @@ -1897,7 +1897,6 @@ typedef enum _php_chunked_filter_state { CHUNK_SIZE_START, CHUNK_SIZE, - CHUNK_SIZE_EXT_START, CHUNK_SIZE_EXT, CHUNK_SIZE_CR, CHUNK_SIZE_LF, @@ -1937,7 +1936,7 @@ data->state = CHUNK_ERROR; break; } else { - data->state = CHUNK_SIZE_EXT_START; + data->state = CHUNK_SIZE_EXT; break; } data->state = CHUNK_SIZE; @@ -1948,13 +1947,6 @@ } else if (p == end) { return out_len; } - case CHUNK_SIZE_EXT_START: - if (*p == ';'|| *p == '\r' || *p == '\n') { - data->state = CHUNK_SIZE_EXT; - } else { - data->state = CHUNK_ERROR; - continue; - } case CHUNK_SIZE_EXT: /* skip extension */ while (p < end && *p != '\r' && *p != '\n') { Modified: php/php-src/trunk/ext/standard/filters.c =================================================================== --- php/php-src/trunk/ext/standard/filters.c 2011-11-23 10:47:58 UTC (rev 319713) +++ php/php-src/trunk/ext/standard/filters.c 2011-11-23 10:49:42 UTC (rev 319714) @@ -1897,7 +1897,6 @@ typedef enum _php_chunked_filter_state { CHUNK_SIZE_START, CHUNK_SIZE, - CHUNK_SIZE_EXT_START, CHUNK_SIZE_EXT, CHUNK_SIZE_CR, CHUNK_SIZE_LF, @@ -1937,7 +1936,7 @@ data->state = CHUNK_ERROR; break; } else { - data->state = CHUNK_SIZE_EXT_START; + data->state = CHUNK_SIZE_EXT; break; } data->state = CHUNK_SIZE; @@ -1948,13 +1947,6 @@ } else if (p == end) { return out_len; } - case CHUNK_SIZE_EXT_START: - if (*p == ';'|| *p == '\r' || *p == '\n') { - data->state = CHUNK_SIZE_EXT; - } else { - data->state = CHUNK_ERROR; - continue; - } case CHUNK_SIZE_EXT: /* skip extension */ while (p < end && *p != '\r' && *p != '\n') {
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php