From: Pierre Joye Date: Mon, 3 May 2010 17:47:58 +0000 (+0000) Subject: - #51273, Content-length header is limited to 32bit integer with apache2/windows X-Git-Tag: php-5.2.14RC1~32 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e77930074839d374810b241b6c5b01d8bfe7dda4;p=php - #51273, Content-length header is limited to 32bit integer with apache2/windows --- diff --git a/NEWS b/NEWS index 7b9a08b6e4..a7a7aeb879 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,8 @@ PHP NEWS - Fixed a possible arbitrary memory access inside sqlite extension. Reported by Mateusz Kocielski. (Ilia) +- Fixed bug #51723 (Content-length header is limited to 32bit integer with + Apache2 on Windows). (Pierre) - Fixed bug #51671 (imagefill does not work correctly for small images). (Pierre) - Fixed bug #51670 (getColumnMeta causes segfault when re-executing query diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index 0829c2619e..59d691be30 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -110,7 +110,15 @@ php_apache_sapi_header_handler(sapi_header_struct *sapi_header,sapi_headers_stru } ctx->content_type = estrdup(val); } else if (!strcasecmp(sapi_header->header, "content-length")) { - ap_set_content_length(ctx->r, strtol(val, (char **)NULL, 10)); +#ifdef PHP_WINDOWS +# ifdef APR_HAS_LARGE_FILES + ap_set_content_length(ctx->r, (apr_off_t) _strtoui64(val, (char **)NULL, 10)); +# else + ap_set_content_length(ctx->r, (apr_off_t) strtol(val, (char **)NULL, 10)); +# endif +#else + ap_set_content_length(ctx->r, (apr_off_t) strtol(val, (char **)NULL, 10)); +#endif } else if (sapi_header->replace) { apr_table_set(ctx->r->headers_out, sapi_header->header, val); } else {