aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRouslan Solomakhin <rouslan@chromium.org>2014-07-07 22:44:33 +0000
committerFredrik Roubert <roubert@google.com>2014-09-01 19:20:48 +0200
commit4489e61b54d2d68966fa3276166afb8202bf44a4 (patch)
tree2c17d98bc173e113b95fc888dd73283d9345bfb3
parentdecece2fb0624b1a9ca1731db533ab8353f99074 (diff)
downloadsrc-4489e61b54d2d68966fa3276166afb8202bf44a4.tar.gz
Add equality comparison to EqualToTolowerString.
Chromium browser tests on Windows in debug mode have exposed that std::equal is not safe. It should be used only after a length comparison. (Bot failures can be seen at http://goo.gl/qvaBg3, http://goo.gl/j89rgZ, and http://goo.gl/CxcyYm.) TBR=roubert@google.com Review URL: https://codereview.appspot.com/106480044
-rw-r--r--cpp/src/util/cctype_tolower_equal.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpp/src/util/cctype_tolower_equal.cc b/cpp/src/util/cctype_tolower_equal.cc
index 0adbba9..819138f 100644
--- a/cpp/src/util/cctype_tolower_equal.cc
+++ b/cpp/src/util/cctype_tolower_equal.cc
@@ -36,7 +36,8 @@ struct EqualToTolowerChar
EqualToTolowerString::result_type EqualToTolowerString::operator()(
const first_argument_type& a, const second_argument_type& b) const {
- return std::equal(a.begin(), a.end(), b.begin(), EqualToTolowerChar());
+ return a.size() == b.size() &&
+ std::equal(a.begin(), a.end(), b.begin(), EqualToTolowerChar());
}
} // addressinput