* 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
This commit is contained in:
naruse 2011-02-15 07:08:18 +00:00
Родитель a8f5a06a68
Коммит 366e1c3884
3 изменённых файлов: 6 добавлений и 9 удалений

Просмотреть файл

@ -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> Tue Feb 15 15:43:29 2011 NARUSE, Yui <naruse@ruby-lang.org>
* encoding.c (rb_enc_compatible): change the rule for empty strings: * 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; long i;
VALUE s, str; VALUE s, str;
if (recur) return rb_tainted_str_new2("[...]"); if (recur) return rb_usascii_str_new_cstr("[...]");
str = rb_str_buf_new2("["); str = rb_str_buf_new2("[");
for (i=0; i<RARRAY_LEN(ary); i++) { for (i=0; i<RARRAY_LEN(ary); i++) {
s = rb_inspect(RARRAY_PTR(ary)[i]); s = rb_inspect(RARRAY_PTR(ary)[i]);

Просмотреть файл

@ -1693,14 +1693,6 @@ class TestString < Test::Unit::TestCase
} }
end end
def test_tainted_str_new
a = []
a << a
s = a.inspect
assert(s.tainted?)
assert_equal("[[...]]", s)
end
class S2 < String class S2 < String
end end
def test_str_new4 def test_str_new4