Project

General

Profile

Bug #14485 ยป file-path-taint.patch

jeremyevans0 (Jeremy Evans), 06/20/2019 06:58 PM

View differences:

file.c
rb_raise(rb_eIOError, "File is unnamed (TMPFILE?)");
}
return rb_obj_taint(rb_str_dup(fptr->pathv));
return rb_str_dup(fptr->pathv);
}
static size_t
test/ruby/test_file_exhaustive.rb
end
end
def test_path_taint
[regular_file, utf8_file].each do |file|
assert_equal(false, File.open(file) {|f| f.path}.tainted?)
assert_equal(true, File.open(file.dup.taint) {|f| f.path}.tainted?)
o = Object.new
class << o; self; end.class_eval do
define_method(:to_path) { file }
end
assert_equal(false, File.open(o) {|f| f.path}.tainted?)
class << o; self; end.class_eval do
define_method(:to_path) { file.dup.taint }
end
assert_equal(true, File.open(o) {|f| f.path}.tainted?)
end
end
def assert_integer(n)
assert_kind_of(Integer, n)
end
    (1-1/1)