From: Sergey Kandaurov Date: Tue, 30 Jul 2013 11:04:46 +0000 (+0400) Subject: Added safety belt for the case of sending header twice. X-Git-Tag: release-1.5.4~10 X-Git-Url: http://git.kaiwu.me/%7B@url%7D?a=commitdiff_plain;h=0fea0bf3f7982348fd6ec9d14ebd946c783445b0;p=nginx.git Added safety belt for the case of sending header twice. The aforementioned situation is abnormal per se and as such it now forces request termination with appropriate error message. --- diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c index ffe7fb4fe..47e5ff789 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -1933,6 +1933,12 @@ ngx_http_send_response(ngx_http_request_t *r, ngx_uint_t status, ngx_int_t ngx_http_send_header(ngx_http_request_t *r) { + if (r->header_sent) { + ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, + "header already sent"); + return NGX_ERROR; + } + if (r->err_status) { r->headers_out.status = r->err_status; r->headers_out.status_line.len = 0;