From 0fea0bf3f7982348fd6ec9d14ebd946c783445b0 Mon Sep 17 00:00:00 2001 From: Sergey Kandaurov Date: Tue, 30 Jul 2013 15:04:46 +0400 Subject: [PATCH] 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. --- src/http/ngx_http_core_module.c | 6 ++++++ 1 file changed, 6 insertions(+) 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;