comparison src/http/modules/ngx_http_fastcgi_module.c @ 3011:5957e869f04d

fix a garbage in a split fastcgi header
author Igor Sysoev <igor@sysoev.ru>
date Tue, 04 Aug 2009 12:19:17 +0000
parents 37400c84396e
children baff3edcb6e2
comparison
equal deleted inserted replaced
3010:37400c84396e 3011:5957e869f04d
1063 1063
1064 1064
1065 static ngx_int_t 1065 static ngx_int_t
1066 ngx_http_fastcgi_process_header(ngx_http_request_t *r) 1066 ngx_http_fastcgi_process_header(ngx_http_request_t *r)
1067 { 1067 {
1068 u_char *p, *start, *last, *part_start; 1068 u_char *p, *start, *last, *part_start, *part_end;
1069 size_t size; 1069 size_t size;
1070 ngx_str_t *status_line, line, *pattern; 1070 ngx_str_t *status_line, line, *pattern;
1071 ngx_int_t rc, status; 1071 ngx_int_t rc, status;
1072 ngx_buf_t buf; 1072 ngx_buf_t buf;
1073 ngx_uint_t i; 1073 ngx_uint_t i;
1235 } 1235 }
1236 1236
1237 for ( ;; ) { 1237 for ( ;; ) {
1238 1238
1239 part_start = u->buffer.pos; 1239 part_start = u->buffer.pos;
1240 part_end = u->buffer.last;
1240 1241
1241 rc = ngx_http_parse_header_line(r, &u->buffer, 1); 1242 rc = ngx_http_parse_header_line(r, &u->buffer, 1);
1242 1243
1243 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, 1244 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
1244 "http fastcgi parser: %d", rc); 1245 "http fastcgi parser: %d", rc);
1435 } 1436 }
1436 1437
1437 part = ngx_array_push(f->split_parts); 1438 part = ngx_array_push(f->split_parts);
1438 1439
1439 part->start = part_start; 1440 part->start = part_start;
1440 part->end = u->buffer.last; 1441 part->end = part_end;
1441 1442
1442 if (u->buffer.pos < u->buffer.last) { 1443 if (u->buffer.pos < u->buffer.last) {
1443 continue; 1444 continue;
1444 } 1445 }
1445 1446