comparison src/http/ngx_http_parse.c @ 3104:c2537655fd5f stable-0.6

merge r3076, r3080: fix segfault when a header starts with "\rX" and logging is set to info or debug level
author Igor Sysoev <igor@sysoev.ru>
date Mon, 07 Sep 2009 11:54:51 +0000
parents 87e1fcd9b604
children 8ed781b3bc02
comparison
equal deleted inserted replaced
3103:f14b468a5283 3104:c2537655fd5f
736 736
737 switch (state) { 737 switch (state) {
738 738
739 /* first char */ 739 /* first char */
740 case sw_start: 740 case sw_start:
741 r->header_name_start = p;
741 r->invalid_header = 0; 742 r->invalid_header = 0;
742 743
743 switch (ch) { 744 switch (ch) {
744 case CR: 745 case CR:
745 r->header_end = p; 746 r->header_end = p;
748 case LF: 749 case LF:
749 r->header_end = p; 750 r->header_end = p;
750 goto header_done; 751 goto header_done;
751 default: 752 default:
752 state = sw_name; 753 state = sw_name;
753 r->header_name_start = p;
754 754
755 c = lowcase[ch]; 755 c = lowcase[ch];
756 756
757 if (c) { 757 if (c) {
758 hash = ngx_hash(0, c); 758 hash = ngx_hash(0, c);