com php-src: fix #70189 (SAPI sends empty Content-Type when default_mimetype is empty): main/SAPI.c

From: Date: Sun, 27 Mar 2016 05:50:11 +0000
Subject: com php-src: fix #70189 (SAPI sends empty Content-Type when default_mimetype is empty): main/SAPI.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-91495@lists.php.net to get a copy of this message
Commit: 28f66763a436066d51b21dcf9d6ac3f5a0b33df7 Author: Joe Watkins <krakjoe@php.net> Sun, 27 Mar 2016 06:50:11 +0100 Parents: 32df2210d7c06c04216e079d28614e36ac87c325 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=28f66763a436066d51b21dcf9d6ac3f5a0b33df7 Log: fix #70189 (SAPI sends empty Content-Type when default_mimetype is empty) Bugs: https://bugs.php.net/70189 Changed paths: M main/SAPI.c Diff: diff --git a/main/SAPI..c b/main/SAPI.c index 9781f18..496bbfb 100644 --- a/main/SAPI.c +++ b/main/SAPI.c @@ -856,15 +856,24 @@ SAPI_API int sapi_send_headers(void) * in case of an error situation. */ if (SG(sapi_headers).send_default_content_type && sapi_module.send_headers) { - sapi_header_struct default_header; - uint len; - - SG(sapi_headers).mimetype = get_default_content_type(0, &len); - default_header..header_len = sizeof("Content-type: ") - 1 + len; - default_header..header = emalloc(default_header.header_len + 1); - memcpy(default_header.header, "Content-type: ", sizeof("Content-type: ") - 1); - memcpy(default_header.header + sizeof("Content-type: ") - 1, SG(sapi_headers).mimetype, len + 1); - sapi_header_add_op(SAPI_HEADER_ADD, &default_header); + uint len = 0; + char *default_mimetype = get_default_content_type(0, &len); + + if (default_mimetype && len) { + sapi_header_struct default_header; + + SG(sapi_headers).mimetype = default_mimetype; + + default_header.header_len = sizeof("Content-type: ") - 1 + len; + default_header.header = emalloc(default_header.header_len + 1); + + memcpy(default_header.header, "Content-type: ", sizeof("Content-type: ") - 1); + memcpy(default_header.header + sizeof("Content-type: ") - 1, SG(sapi_headers).mimetype, len + 1); + + sapi_header_add_op(SAPI_HEADER_ADD, &default_header); + } else { + efree(default_mimetype); + } SG(sapi_headers).send_default_content_type = 0; }

« previous php.cvs (#91495) next »