aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-08-04 12:19:17 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-08-04 12:19:17 +0000
commitccefc4f0aa5b3a06f2335d98e300b2507df6ad7b (patch)
tree413412458d83e5e8f5a727d10ff791c975b2672a /src
parent1b52828cd933a2480250658d967264fa5373d32a (diff)
downloadnginx-ccefc4f0aa5b3a06f2335d98e300b2507df6ad7b.tar.gz
nginx-ccefc4f0aa5b3a06f2335d98e300b2507df6ad7b.zip
fix a garbage in a split fastcgi header
Diffstat (limited to 'src')
-rw-r--r--src/http/modules/ngx_http_fastcgi_module.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/http/modules/ngx_http_fastcgi_module.c b/src/http/modules/ngx_http_fastcgi_module.c
index 8cb0685b6..fc0cf14e1 100644
--- a/src/http/modules/ngx_http_fastcgi_module.c
+++ b/src/http/modules/ngx_http_fastcgi_module.c
@@ -1065,7 +1065,7 @@ ngx_http_fastcgi_reinit_request(ngx_http_request_t *r)
static ngx_int_t
ngx_http_fastcgi_process_header(ngx_http_request_t *r)
{
- u_char *p, *start, *last, *part_start;
+ u_char *p, *start, *last, *part_start, *part_end;
size_t size;
ngx_str_t *status_line, line, *pattern;
ngx_int_t rc, status;
@@ -1237,6 +1237,7 @@ ngx_http_fastcgi_process_header(ngx_http_request_t *r)
for ( ;; ) {
part_start = u->buffer.pos;
+ part_end = u->buffer.last;
rc = ngx_http_parse_header_line(r, &u->buffer, 1);
@@ -1437,7 +1438,7 @@ ngx_http_fastcgi_process_header(ngx_http_request_t *r)
part = ngx_array_push(f->split_parts);
part->start = part_start;
- part->end = u->buffer.last;
+ part->end = part_end;
if (u->buffer.pos < u->buffer.last) {
continue;