cvs: php-src /ext/standard http_fopen_wrapper.c
| From: | Sara Golemon | Date: | Tue, 07 Sep 2004 22:46:25 +0000 |
| Subject: | cvs: php-src /ext/standard http_fopen_wrapper.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-28586@lists.php.net to get a copy of this message | ||
pollita Tue Sep 7 18:46:25 2004 EDT
Modified files:
/php-src/ext/standard http_fopen_wrapper.c
Log:
Chunk Length may optionally be followed by whitespace
http://cvs.php.net/diff.php/php-src/ext/standard/http_fopen_wrapper.c?r1=1.90&r2=1.91&ty=u
Index: php-src/ext/standard/http_fopen_wrapper.c
diff -u php-src/ext/standard/http_fopen_wrapper.c:1.90
php-src/ext/standard/http_fopen_wrapper.c:1.91
--- php-src/ext/standard/http_fopen_wrapper.c:1.90 Tue Sep 7 15:27:11 2004
+++ php-src/ext/standard/http_fopen_wrapper.c Tue Sep 7 18:46:24 2004
@@ -19,7 +19,7 @@
| Sara Golemon <pollita@php.net> |
+----------------------------------------------------------------------+
*/
-/* $Id: http_fopen_wrapper.c,v 1.90 2004/09/07 19:27:11 pollita Exp $ */
+/* $Id: http_fopen_wrapper.c,v 1.91 2004/09/07 22:46:24 pollita Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -186,6 +186,8 @@
memcpy(data->chunksize_buffer_pos, buf, buflen);
memset(data->chunksize_buffer_pos + buflen, 0, HTTP_CHUNK_SIZE_MAXLEN - buflen -
(data->chunksize_buffer_pos - data->chunksize_buffer));
chunk_remaining = strtoul(data->chunksize_buffer, &e, 16);
+ /* Skip whitespace */
+ while ((*e == ' ') && (e < (data->chunksize_buffer +
HTTP_CHUNK_SIZE_MAXLEN))) e++;
if (*e != '\r') {
if (!((*e >= '0' && *e <= '9') ||
(*e >= 'a' && *e <= 'f') ||
@@ -201,6 +203,8 @@
} else {
memcpy(data->chunksize_buffer_pos, buf, HTTP_CHUNK_SIZE_MAXLEN -
(data->chunksize_buffer_pos - data->chunksize_buffer));
chunk_remaining = strtoul(data->chunksize_buffer, &e, 16);
+ /* Skip whitespace */
+ while ((*e == ' ') && (e < (data->chunksize_buffer +
HTTP_CHUNK_SIZE_MAXLEN))) e++;
if (*e != '\r') {
/* Invalid chunksize */
return PSFS_ERR_FATAL;
@@ -799,7 +803,6 @@
php_stream_filter_append(&stream->readfilters, filter);
}
}
-
}
return stream;