From: Arnaud Le Blanc Date: Sun, 7 Sep 2008 14:18:11 +0000 (+0000) Subject: MFH: More accurate max_file_size / upload_max_filesize (fixes #45124) X-Git-Tag: php-5.2.7RC1~68 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=21482dd1e61e76e7ece6eeb555dda5d6568eb409;p=php MFH: More accurate max_file_size / upload_max_filesize (fixes #45124) --- diff --git a/NEWS b/NEWS index 517c604ab2..0a00b97b8b 100644 --- a/NEWS +++ b/NEWS @@ -69,6 +69,8 @@ PHP NEWS (Dmitry) - Fixed bug #45139 (ReflectionProperty returns incorrect declaring class). (Felipe) +- Fixed bug #45124 ($_FILES['upload']['size'] sometimes return zero and + sometimes the filesize). (Arnaud) - Fixed bug #45028 (CRC32 output endianness is different between crc32() and hash()). (Tony) - Fixed bug #45004 (pg_insert() does not accept 4 digit timezone format). diff --git a/main/rfc1867.c b/main/rfc1867.c index a878d55c6c..715c8e967d 100644 --- a/main/rfc1867.c +++ b/main/rfc1867.c @@ -1077,12 +1077,12 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) } - if (PG(upload_max_filesize) > 0 && total_bytes > PG(upload_max_filesize)) { + if (PG(upload_max_filesize) > 0 && (total_bytes+blen) > PG(upload_max_filesize)) { #if DEBUG_FILE_UPLOAD sapi_module.sapi_error(E_NOTICE, "upload_max_filesize of %ld bytes exceeded - file [%s=%s] not saved", PG(upload_max_filesize), param, filename); #endif cancel_upload = UPLOAD_ERROR_A; - } else if (max_file_size && (total_bytes > max_file_size)) { + } else if (max_file_size && ((total_bytes+blen) > max_file_size)) { #if DEBUG_FILE_UPLOAD sapi_module.sapi_error(E_NOTICE, "MAX_FILE_SIZE of %ld bytes exceeded - file [%s=%s] not saved", max_file_size, param, filename); #endif