From 43d6ae71a774a5e07595047367689e27af36d9eb Mon Sep 17 00:00:00 2001
From: "hclam@chromium.org"
 <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Tue, 16 Jun 2009 23:18:39 +0000
Subject: Fixing a bug in HttpResponseHeaders.GetContentRange The code has a
 glitch in handling LWS near to the "bytes" token.

BUG=14216
Review URL: http://codereview.chromium.org/126229

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18556 0039d316-1c4b-4281-b951-d872f2087c98
---
 net/http/http_response_headers.cc | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

(limited to 'net/http/http_response_headers.cc')

diff --git a/net/http/http_response_headers.cc b/net/http/http_response_headers.cc
index 4038aff..81d2ceb 100644
--- a/net/http/http_response_headers.cc
+++ b/net/http/http_response_headers.cc
@@ -1000,8 +1000,13 @@ bool HttpResponseHeaders::GetContentRange(int64* first_byte_position,
     return false;
 
   // Invalid header if it doesn't contain "bytes-unit".
-  if (!LowerCaseEqualsASCII(content_range_spec.begin(),
-                            content_range_spec.begin() + space_position,
+  std::string::const_iterator content_range_spec_begin =
+      content_range_spec.begin();
+  std::string::const_iterator content_range_spec_end =
+      content_range_spec.begin() + space_position;
+  HttpUtil::TrimLWS(&content_range_spec_begin, &content_range_spec_end);
+  if (!LowerCaseEqualsASCII(content_range_spec_begin,
+                            content_range_spec_end,
                             "bytes")) {
     return false;
   }
-- 
cgit v1.1