extracted from 7.62
diff -rpU10 nginx-0.7.61/src/http/ngx_http_parse.c nginx-0.7.62/src/http/ngx_http_parse.c
--- nginx-0.7.61/src/http/ngx_http_parse.c 2009-04-23 18:38:59.000000000 +0200
+++ nginx-0.7.62/src/http/ngx_http_parse.c 2009-09-07 13:11:24.000000000 +0200
@@ -732,33 +732,33 @@ ngx_http_parse_header_line(ngx_http_requ
hash = r->header_hash;
i = r->lowcase_index;
for (p = b->pos; p < b->last; p++) {
ch = *p;
switch (state) {
/* first char */
case sw_start:
+ r->header_name_start = p;
r->invalid_header = 0;
switch (ch) {
case CR:
r->header_end = p;
state = sw_header_almost_done;
break;
case LF:
r->header_end = p;
goto header_done;
default:
state = sw_name;
- r->header_name_start = p;
c = lowcase[ch];
if (c) {
hash = ngx_hash(0, c);
r->lowcase_header[0] = c;
i = 1;
break;
}