aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrouslan@chromium.org <rouslan@chromium.org@38ededc0-08b8-5190-f2ac-b31f878777ad>2014-07-07 22:44:33 +0000
committerrouslan@chromium.org <rouslan@chromium.org@38ededc0-08b8-5190-f2ac-b31f878777ad>2014-07-07 22:44:33 +0000
commit4e10bb9dd340ddf1dcfb1b4ed04d30c73f86e6ff (patch)
tree015b1b986fd90132ba91fa643f757cca1e773d9f
parent771cc560df04dc201a90012c15b5814c33f6d5d8 (diff)
downloadsrc-4e10bb9dd340ddf1dcfb1b4ed04d30c73f86e6ff.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 git-svn-id: http://libaddressinput.googlecode.com/svn/trunk@300 38ededc0-08b8-5190-f2ac-b31f878777ad
-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