diff options
author | erikwright@chromium.org <erikwright@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-02 19:30:02 +0000 |
---|---|---|
committer | erikwright@chromium.org <erikwright@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-02 19:30:02 +0000 |
commit | eae2a829891e7e8a186aa0ea6a4fbae8ea921b99 (patch) | |
tree | 6baafaa6444d618457f5b276082a28827621c9d0 /base/string_number_conversions_unittest.cc | |
parent | 1afaf2a5146c2652b0f8fc313fe14e9fa5776224 (diff) | |
download | chromium_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.cc | 7 |
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) { |