summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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