summaryrefslogtreecommitdiffstats
path: root/base/string_number_conversions_unittest.cc
diff options
context:
space:
mode:
authorerikwright@chromium.org <erikwright@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-02 19:30:02 +0000
committererikwright@chromium.org <erikwright@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-02 19:30:02 +0000
commiteae2a829891e7e8a186aa0ea6a4fbae8ea921b99 (patch)
tree6baafaa6444d618457f5b276082a28827621c9d0 /base/string_number_conversions_unittest.cc
parent1afaf2a5146c2652b0f8fc313fe14e9fa5776224 (diff)
downloadchromium_src-eae2a829891e7e8a186aa0ea6a4fbae8ea921b99.zip
chromium_src-eae2a829891e7e8a186aa0ea6a4fbae8ea921b99.tar.gz
chromium_src-eae2a829891e7e8a186aa0ea6a4fbae8ea921b99.tar.bz2
Fix a bug that could occur when converting strings with leading characters above 127.
BUG=None TEST=base_unittests --gtest_filter=*StringToInt* Review URL: http://codereview.chromium.org/4129012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64789 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/string_number_conversions_unittest.cc')
-rw-r--r--base/string_number_conversions_unittest.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/base/string_number_conversions_unittest.cc b/base/string_number_conversions_unittest.cc
index 55487df..8cdd77d 100644
--- a/base/string_number_conversions_unittest.cc
+++ b/base/string_number_conversions_unittest.cc
@@ -80,6 +80,8 @@ TEST(StringNumberConversionsTest, StringToInt) {
} cases[] = {
{"0", 0, true},
{"42", 42, true},
+ {"42\x99", 42, false},
+ {"\x99" "42\x99", 0, false},
{"-2147483648", INT_MIN, true},
{"2147483647", INT_MAX, true},
{"", 0, false},
@@ -161,6 +163,11 @@ TEST(StringNumberConversionsTest, StringToInt) {
utf16_chars + utf16_input.length(),
&output));
EXPECT_EQ(6, output);
+
+ output = 0;
+ const char16 negative_wide_input[] = { 0xFF4D, '4', '2', 0};
+ EXPECT_FALSE(StringToInt(string16(negative_wide_input), &output));
+ EXPECT_EQ(0, output);
}
TEST(StringNumberConversionsTest, StringToInt64) {