From: adrian <> Date: Mon, 2 Oct 2006 18:08:20 +0000 (+0000) Subject: Fix more stupid off-by-one errors parsing the request line. X-Git-Tag: SQUID_3_0_PRE5~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=882c6885a5eb4b03ba5db5e99b231a700e91e1a2;p=thirdparty%2Fsquid.git Fix more stupid off-by-one errors parsing the request line. --- diff --git a/src/HttpMsg.cc b/src/HttpMsg.cc index 58e96df976..b6fc40324a 100644 --- a/src/HttpMsg.cc +++ b/src/HttpMsg.cc @@ -1,6 +1,6 @@ /* - * $Id: HttpMsg.cc,v 1.38 2006/10/02 06:03:23 adrian Exp $ + * $Id: HttpMsg.cc,v 1.39 2006/10/02 12:08:20 adrian Exp $ * * DEBUG: section 74 HTTP Message * AUTHOR: Alex Rousskov @@ -472,11 +472,11 @@ HttpParserParseReqLine(HttpParser *hmsg) hmsg->req_end = -1; for (i = 0; i < hmsg->bufsiz; i++) { if (hmsg->buf[i] == '\n') { - hmsg->req_end = i + 1; + hmsg->req_end = i; break; } if (i < hmsg->bufsiz - 1 && hmsg->buf[i] == '\r' && hmsg->buf[i + 1] == '\n') { - hmsg->req_end = i + 2; + hmsg->req_end = i + 1; break; } } @@ -484,8 +484,7 @@ HttpParserParseReqLine(HttpParser *hmsg) retcode = 0; goto finish; } - assert(hmsg->buf[hmsg->req_end] != '\n'); - assert(hmsg->buf[hmsg->req_end - 1] == '\n'); + assert(hmsg->buf[hmsg->req_end] == '\n'); /* Start at the beginning again */ i = 0;