summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-02-15 07:08:18 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-02-15 07:08:18 +0000
commit366e1c3884e97b0d833b8805a6afcd9071ea1e8b (patch)
tree1fc29559cde939018c0d467e032b4a0d0e607ccb
parenta8f5a06a68f24ac48363083114c14e9c95ea61ff (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--ChangeLog5
-rw-r--r--array.c2
-rw-r--r--test/ruby/test_string.rb8
3 files changed, 6 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index b550e8c8d1..d36ff36883 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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:
diff --git a/array.c b/array.c
index 90dcf1c86e..f38e70609f 100644
--- a/array.c
+++ b/array.c
@@ -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