cvs: php4 /main rfc1867.c

From: Date: Sun, 06 Aug 2000 06:40:28 +0000
Subject: cvs: php4 /main rfc1867.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-1056@lists.php.net to get a copy of this message
rasmus Sat Aug 5 23:40:28 2000 EDT Modified files: /php4/main rfc1867.c Log: Support content-encoding headers in file upload mime parts @- Support content-encoding headers in file upload MIME parts @ (Ragnar Kjørstad) Index: php4/main/rfc1867.c diff -u php4/main/rfc1867.c:1.37 php4/main/rfc1867.c:1.38 --- php4/main/rfc1867.c:1.37 Sun Jul 30 04:22:18 2000 +++ php4/main/rfc1867.c Sat Aug 5 23:40:28 2000 @@ -15,7 +15,7 @@ | Authors: Rasmus Lerdorf <rasmus@php.net> | +----------------------------------------------------------------------+ */ -/* $Id: rfc1867.c,v 1.37 2000/07/30 11:22:18 stas Exp $ */ +/* $Id: rfc1867.c,v 1.38 2000/08/06 06:40:28 rasmus Exp $ */ #include <stdio.h> #include "php.h" @@ -59,7 +59,7 @@ */ static void php_mime_split(char *buf, int cnt, char *boundary, zval *array_ptr) { - char *ptr, *loc, *loc2, *s, *name, *filename, *u, *fn; + char *ptr, *loc, *loc2, *loc3, *s, *name, *filename, *u, *fn; int len, state = 0, Done = 0, rem, urem; int eolsize; long bytes, max_file_size = 0; @@ -111,7 +111,7 @@ if (rem < 31) { SAFE_RETURN; } - php_error(E_WARNING, "File Upload Mime headers garbled [%c%c%c%c%c]", *ptr, *(ptr + 1), *(ptr + 2), *(ptr + 3), *(ptr + 4)); + php_error(E_WARNING, "File Upload Mime headers garbled ptr: [%c%c%c%c%c]", *ptr, *(ptr + 1), *(ptr + 2), *(ptr + 3), *(ptr + 4)); SAFE_RETURN; } loc = memchr(ptr, '\n', rem); @@ -120,7 +120,7 @@ name += 7; s = memchr(name, '\"', loc - name); if (!s) { - php_error(E_WARNING, "File Upload Mime headers garbled [%c%c%c%c%c]", *name, *(name + 1), *(name + 2), *(name + 3), *(name + 4)); + php_error(E_WARNING, "File Upload Mime headers garbled name: [%c%c%c%c%c]", *name, *(name + 1), *(name + 2), *(name + 3), *(name + 4)); SAFE_RETURN; } if (namebuf) { @@ -157,7 +157,7 @@ filename += 11; s = memchr(filename, '\"', loc - filename); if (!s) { - php_error(E_WARNING, "File Upload Mime headers garbled [%c%c%c%c%c]", *filename, *(filename + 1), *(filename + 2), *(filename + 3), *(filename + 4)); + php_error(E_WARNING, "File Upload Mime headers garbled filename: [%c%c%c%c%c]", *filename, *(filename + 1), *(filename + 2), *(filename + 3), *(filename + 4)); SAFE_RETURN; } if (filenamebuf) { @@ -201,8 +201,18 @@ *(loc2 - 1) = '\0'; s = loc+15; } - rem -= 2; - ptr += 2; + loc3=memchr(loc2+1, '\n', rem-1); + if (loc3==NULL) { + php_error(E_WARNING, "File Upload Mime headers garbled header3: [%c%c%c%c%c]", *loc2, *(loc2 + 1), *(loc2 + 2), *(loc2 + 3), *(loc2 + 4)); + SAFE_RETURN; + } + if (loc3 - loc2 > 2) { /* we have a third header */ + rem -= (ptr-loc3)+3; + ptr = loc3+3; + } else { + rem -= (ptr-loc3)+1; + ptr = loc3+1; + } } /* Add $foo_type */

« previous php.cvs (#1056) next »