]> granicus.if.org Git - php/commitdiff
MFB: fix php_apache_sapi_header_handler() modifying sapi_header
authorMichael Wallner <mike@php.net>
Sun, 19 Mar 2006 14:58:06 +0000 (14:58 +0000)
committerMichael Wallner <mike@php.net>
Sun, 19 Mar 2006 14:58:06 +0000 (14:58 +0000)
sapi/apache2filter/sapi_apache2.c
sapi/apache2handler/sapi_apache2.c

index ba3e50f362d1bdd993dd9fee7789340ea9b1d605..13516fc635ea8e0cbb332441e6688c2e8347039d 100644 (file)
@@ -103,7 +103,7 @@ php_apache_sapi_header_handler(sapi_header_struct *sapi_header, sapi_headers_str
 {
        php_struct *ctx;
        ap_filter_t *f;
-       char *val;
+       char *val, *ptr;
 
        ctx = SG(server_context);
        f = ctx->r->output_filters;
@@ -114,6 +114,7 @@ php_apache_sapi_header_handler(sapi_header_struct *sapi_header, sapi_headers_str
                sapi_free_header(sapi_header);
                return 0;
        }
+       ptr = val;
 
        *val = '\0';
        
@@ -128,6 +129,7 @@ php_apache_sapi_header_handler(sapi_header_struct *sapi_header, sapi_headers_str
        else
                apr_table_add(ctx->r->headers_out, sapi_header->header, val);
        
+       *ptr = ':';
        return SAPI_HEADER_ADD;
 }
 
index 9cf3766fd78087cfe80e6282e2d49e276a59e82a..97c03298b803d08e33c38933b66303b3281cb680 100644 (file)
@@ -86,7 +86,7 @@ static int
 php_apache_sapi_header_handler(sapi_header_struct *sapi_header,sapi_headers_struct *sapi_headers TSRMLS_DC)
 {
        php_struct *ctx;
-       char *val;
+       char *val, *ptr;
 
        ctx = SG(server_context);
 
@@ -96,6 +96,7 @@ php_apache_sapi_header_handler(sapi_header_struct *sapi_header,sapi_headers_stru
                sapi_free_header(sapi_header);
                return 0;
        }
+       ptr = val;
 
        *val = '\0';
        
@@ -111,6 +112,7 @@ php_apache_sapi_header_handler(sapi_header_struct *sapi_header,sapi_headers_stru
        } else {
                apr_table_add(ctx->r->headers_out, sapi_header->header, val);
        }
+       *ptr = ':';
        
        return SAPI_HEADER_ADD;
 }