diff options
author | Dmitry Stogov <dmitry@php.net> | 2011-11-23 10:49:42 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2011-11-23 10:49:42 +0000 |
commit | 020cfc3d62d4ff54c38363763de6c0f283e87f6f (patch) | |
tree | 692669ebf35623247670790fa391dbb9f5071882 | |
parent | 90cd6482b33c717ac64b16c296e51d371a25c7bd (diff) | |
download | php-git-020cfc3d62d4ff54c38363763de6c0f283e87f6f.tar.gz |
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)
-rw-r--r-- | ext/standard/filters.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/ext/standard/filters.c b/ext/standard/filters.c index 2f1e3dc706..ce241933db 100644 --- a/ext/standard/filters.c +++ b/ext/standard/filters.c @@ -1897,7 +1897,6 @@ php_stream_filter_factory consumed_filter_factory = { 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 @@ static int php_dechunk(char *buf, int len, php_chunked_filter_data *data) 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 @@ static int php_dechunk(char *buf, int len, php_chunked_filter_data *data) } 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') { |