1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[ruby/stringio] Remove taint support

Ruby 2.7 deprecates taint and it no longer has an effect.
The lack of taint support should not cause a problem in
previous Ruby versions.

https://github.com/ruby/stringio/commit/60ee9ccd95
This commit is contained in:
Jeremy Evans 2019-10-18 12:39:49 -07:00 committed by Hiroshi SHIBATA
parent 3895e548bd
commit ebc884461b
No known key found for this signature in database
GPG key ID: F9CF13417264FAC2
2 changed files with 0 additions and 15 deletions

View file

@ -623,7 +623,6 @@ strio_copy(VALUE copy, VALUE orig)
strio_free(DATA_PTR(copy));
}
DATA_PTR(copy) = ptr;
OBJ_INFECT(copy, orig);
RBASIC(copy)->flags &= ~STRIO_READWRITE;
RBASIC(copy)->flags |= RBASIC(orig)->flags & STRIO_READWRITE;
++ptr->count;
@ -1443,7 +1442,6 @@ strio_write(VALUE self, VALUE str)
if (ptr->pos == olen) {
if (enc == ascii8bit || enc2 == ascii8bit) {
rb_enc_str_buf_cat(ptr->string, RSTRING_PTR(str), len, enc);
OBJ_INFECT(ptr->string, str);
}
else {
rb_str_buf_append(ptr->string, str);
@ -1452,9 +1450,7 @@ strio_write(VALUE self, VALUE str)
else {
strio_extend(ptr, ptr->pos, len);
memmove(RSTRING_PTR(ptr->string)+ptr->pos, RSTRING_PTR(str), len);
OBJ_INFECT(ptr->string, str);
}
OBJ_INFECT(ptr->string, self);
RB_GC_GUARD(str);
ptr->pos += len;
return len;

View file

@ -180,17 +180,6 @@ class TestStringIO < Test::Unit::TestCase
f.close unless f.closed?
end
def test_write_infection
bug9769 = '[ruby-dev:48118] [Bug #9769]'
s = "".untaint
f = StringIO.new(s, "w")
f.print("bar".taint)
f.close
assert_predicate(s, :tainted?, bug9769)
ensure
f.close unless f.closed?
end
def test_write_encoding
s = "".force_encoding(Encoding::UTF_8)
f = StringIO.new(s)