]> granicus.if.org Git - php/commitdiff
fix #70189 (SAPI sends empty Content-Type when default_mimetype is empty)
authorJoe Watkins <krakjoe@php.net>
Sun, 27 Mar 2016 05:50:11 +0000 (06:50 +0100)
committerJoe Watkins <krakjoe@php.net>
Sun, 27 Mar 2016 05:50:11 +0000 (06:50 +0100)
main/SAPI.c

index 9781f18c124208c55961aaeff761a44ac6b3056c..496bbfbd129efe6ab4cae5876501da731d2ace64 100644 (file)
@@ -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;
        }