Search
j0ke.net Open Build Service
>
Projects
>
internetx
:
php5
:
5.5.20
>
php-5.5.20
> php5-big-file-upload.patch
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File php5-big-file-upload.patch of Package php-5.5.20
From: Ralf Lang <lang@b1-systems.de> Date: 2013-07-23 10:25:22 +0200 Subject: Allow large file uploads > 2G and prevent integer overflow for php.ini values > 2G Upstream: submitted Similarly to the previous php5-64-bit-post-large-files.patch, this adresses cases where php.ini configures upload limits > 2G https://github.com/php/php-src/pull/372 https://bugs.php.net/bug.php?id=44522 This is essentially the same as the patch "uploads_larger_than_2g_HEAD_v2 (last revision 2012-03-26 03:59 UTC) byjason at infininull dot com)" but using off_t instead of signed long(originally: uint) --- main/SAPI.h | 4 ++-- main/rfc1867.c | 5 +++-- sapi/cgi/cgi_main.c | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) Index: php-5.4.16/main/SAPI.h =================================================================== --- php-5.4.16.orig/main/SAPI.h +++ php-5.4.16/main/SAPI.h @@ -82,7 +82,7 @@ typedef struct { char *post_data, *raw_post_data; char *cookie_data; long content_length; - uint post_data_length, raw_post_data_length; + off_t post_data_length, raw_post_data_length; char *path_translated; char *request_uri; @@ -119,7 +119,7 @@ typedef struct _sapi_globals_struct { void *server_context; sapi_request_info request_info; sapi_headers_struct sapi_headers; - int read_post_bytes; + off_t read_post_bytes; unsigned char headers_sent; struct stat global_stat; char *default_mimetype; Index: php-5.4.16/main/rfc1867.c =================================================================== --- php-5.4.16.orig/main/rfc1867.c +++ php-5.4.16/main/rfc1867.c @@ -676,8 +676,9 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_ { char *boundary, *s = NULL, *boundary_end = NULL, *start_arr = NULL, *array_index = NULL; char *temp_filename = NULL, *lbuf = NULL, *abuf = NULL; - int boundary_len = 0, total_bytes = 0, cancel_upload = 0, is_arr_upload = 0, array_len = 0; - int max_file_size = 0, skip_upload = 0, anonindex = 0, is_anonymous; + int boundary_len = 0, cancel_upload = 0, is_arr_upload = 0, array_len = 0; + off_t total_bytes = 0, max_file_size = 0; + int skip_upload = 0, anonindex = 0, is_anonymous; zval *http_post_files = NULL; HashTable *uploaded_files = NULL; multipart_buffer *mbuff; Index: php-5.4.16/sapi/cgi/cgi_main.c =================================================================== --- php-5.4.16.orig/sapi/cgi/cgi_main.c +++ php-5.4.16/sapi/cgi/cgi_main.c @@ -508,7 +508,7 @@ static int sapi_cgi_read_post(char *buff uint read_bytes = 0; int tmp_read_bytes; - count_bytes = MIN(count_bytes, (uint) SG(request_info).content_length - SG(read_post_bytes)); + count_bytes = MIN(count_bytes, SG(request_info).content_length - SG(read_post_bytes)); while (read_bytes < count_bytes) { tmp_read_bytes = read(STDIN_FILENO, buffer + read_bytes, count_bytes - read_bytes); if (tmp_read_bytes <= 0) {