comparison src/http/ngx_http_parse.c @ 3098:d41c740f55ce stable-0.7

merge r3076, r3077, r3080: fix invalid header logging: *) fix segfault when a header starts with "\rX" and logging is set to info or debug level *) use %*s instead of %V
author Igor Sysoev <igor@sysoev.ru>
date Mon, 07 Sep 2009 11:11:24 +0000
parents ecc8d537e9a9
children cfc35172c7fd
comparison
equal deleted inserted replaced
3097:8393cadef25d 3098:d41c740f55ce
737 737
738 switch (state) { 738 switch (state) {
739 739
740 /* first char */ 740 /* first char */
741 case sw_start: 741 case sw_start:
742 r->header_name_start = p;
742 r->invalid_header = 0; 743 r->invalid_header = 0;
743 744
744 switch (ch) { 745 switch (ch) {
745 case CR: 746 case CR:
746 r->header_end = p; 747 r->header_end = p;
749 case LF: 750 case LF:
750 r->header_end = p; 751 r->header_end = p;
751 goto header_done; 752 goto header_done;
752 default: 753 default:
753 state = sw_name; 754 state = sw_name;
754 r->header_name_start = p;
755 755
756 c = lowcase[ch]; 756 c = lowcase[ch];
757 757
758 if (c) { 758 if (c) {
759 hash = ngx_hash(0, c); 759 hash = ngx_hash(0, c);