From 21482dd1e61e76e7ece6eeb555dda5d6568eb409 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Sun, 7 Sep 2008 14:18:11 +0000 Subject: [PATCH] MFH: More accurate max_file_size / upload_max_filesize (fixes #45124) --- NEWS | 2 ++ main/rfc1867.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) 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 -- 2.50.1