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

Reply via email to