diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-06-15 16:05:04 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-06-15 16:05:04 +0000 |
commit | e117afcb70719022a362b0ae3433dddc1944def5 (patch) | |
tree | f8f1d9405d63249282888176efb06882746021e7 /test/-ext- | |
parent | 13f618f1ed08ebe182c3bf2e4948fd3be2a2be3d (diff) |
merge revision(s) 55054: [Backport #12390]
* string.c (rb_str_modify_expand): check integer overflow.
[ruby-core:75592] [Bug #12390]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_3@55426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/-ext-')
-rw-r--r-- | test/-ext-/string/test_modify_expand.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/-ext-/string/test_modify_expand.rb b/test/-ext-/string/test_modify_expand.rb index 5eb7a02b91..d3f5a17037 100644 --- a/test/-ext-/string/test_modify_expand.rb +++ b/test/-ext-/string/test_modify_expand.rb @@ -13,4 +13,13 @@ class Test_StringModifyExpand < Test::Unit::TestCase s.replace("") CMD end + + def test_integer_overflow + bug12390 = '[ruby-core:75592] [Bug #12390]' + s = Bug::String.new + long_max = (1 << (8 * RbConfig::SIZEOF['long'] - 1)) - 1 + assert_raise(ArgumentError, bug12390) { + s.modify_expand!(long_max) + } + end end |