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 <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $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;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php