From e77930074839d374810b241b6c5b01d8bfe7dda4 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Mon, 3 May 2010 17:47:58 +0000 Subject: [PATCH] - #51273, Content-length header is limited to 32bit integer with apache2/windows --- NEWS | 2 ++ sapi/apache2handler/sapi_apache2.c | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) 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 { -- 2.50.1