diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-02-15 07:08:18 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-02-15 07:08:18 +0000 |
commit | 366e1c3884e97b0d833b8805a6afcd9071ea1e8b (patch) | |
tree | 1fc29559cde939018c0d467e032b4a0d0e607ccb | |
parent | a8f5a06a68f24ac48363083114c14e9c95ea61ff (diff) |
* array.c (inspect_ary): don't taint the inspected result of a
recursive array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | array.c | 2 | ||||
-rw-r--r-- | test/ruby/test_string.rb | 8 |
3 files changed, 6 insertions, 9 deletions
@@ -1,3 +1,8 @@ +Mon Feb 14 15:00:16 2011 NARUSE, Yui <naruse@ruby-lang.org> + + * array.c (inspect_ary): don't taint the inspected result of a + recursive array. + Tue Feb 15 15:43:29 2011 NARUSE, Yui <naruse@ruby-lang.org> * encoding.c (rb_enc_compatible): change the rule for empty strings: @@ -1743,7 +1743,7 @@ inspect_ary(VALUE ary, VALUE dummy, int recur) long i; VALUE s, str; - if (recur) return rb_tainted_str_new2("[...]"); + if (recur) return rb_usascii_str_new_cstr("[...]"); str = rb_str_buf_new2("["); for (i=0; i<RARRAY_LEN(ary); i++) { s = rb_inspect(RARRAY_PTR(ary)[i]); diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index 9440f93ed4..c5d3a53850 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -1693,14 +1693,6 @@ class TestString < Test::Unit::TestCase } end - def test_tainted_str_new - a = [] - a << a - s = a.inspect - assert(s.tainted?) - assert_equal("[[...]]", s) - end - class S2 < String end def test_str_new4 |