summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/base/escape.cc5
-rw-r--r--net/base/escape_unittest.cc1
2 files changed, 3 insertions, 3 deletions
diff --git a/net/base/escape.cc b/net/base/escape.cc
index 9f330c6..87174e1 100644
--- a/net/base/escape.cc
+++ b/net/base/escape.cc
@@ -113,9 +113,8 @@ std::string UnescapeURLImpl(const std::string& escaped_text,
std::string result;
result.reserve(escaped_text.length());
- for (size_t i = 0, max = escaped_text.size(), max_digit_index = max - 2;
- i < max; ++i) {
- if (escaped_text[i] == '%' && i < max_digit_index) {
+ for (size_t i = 0, max = escaped_text.size(); i < max; ++i) {
+ if (escaped_text[i] == '%' && i + 2 < max) {
const std::string::value_type most_sig_digit(escaped_text[i + 1]);
const std::string::value_type least_sig_digit(escaped_text[i + 2]);
if (IsHex(most_sig_digit) && IsHex(least_sig_digit)) {
diff --git a/net/base/escape_unittest.cc b/net/base/escape_unittest.cc
index a969a86..3775945 100644
--- a/net/base/escape_unittest.cc
+++ b/net/base/escape_unittest.cc
@@ -159,6 +159,7 @@ TEST(Escape, UnescapeURLComponent) {
TEST(Escape, UnescapeAndDecodeURLComponent) {
const UnescapeAndDecodeURLCase unescape_cases[] = {
+ {"UTF8", "%", "%", "%", L"%"},
{"UTF8", "+", "+", " ", L"+"},
{"UTF8", "%2+", "%2+", "%2 ", L"%2+"},
{"UTF8", "+%%%+%%%", "+%%%+%%%", " %%% %%%", L"+%%%+%%%"},