From b809784817649817c3e53fa000f57504446caef9 Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Sat, 19 Oct 2019 16:10:47 -0700 Subject: [ruby/fiddle] Remove taint support (#21) 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/fiddle/commit/18d6fb6915 --- test/fiddle/test_func.rb | 12 ------------ test/fiddle/test_function.rb | 2 +- test/fiddle/test_handle.rb | 23 ----------------------- test/fiddle/test_pointer.rb | 1 - 4 files changed, 1 insertion(+), 37 deletions(-) (limited to 'test/fiddle') diff --git a/test/fiddle/test_func.rb b/test/fiddle/test_func.rb index d170c59a75..ca89173766 100644 --- a/test/fiddle/test_func.rb +++ b/test/fiddle/test_func.rb @@ -11,18 +11,6 @@ module Fiddle assert_nil f.call(10) end - def test_syscall_with_tainted_string - f = Function.new(@libc['system'], [TYPE_VOIDP], TYPE_INT) - Thread.new { - $SAFE = 1 - assert_raise(SecurityError) do - f.call("uname -rs".dup.taint) - end - }.join - ensure - $SAFE = 0 - end - def test_sinf begin f = Function.new(@libm['sinf'], [TYPE_FLOAT], TYPE_FLOAT) diff --git a/test/fiddle/test_function.rb b/test/fiddle/test_function.rb index eb8ef232e8..a58d7afcb1 100644 --- a/test/fiddle/test_function.rb +++ b/test/fiddle/test_function.rb @@ -98,7 +98,7 @@ module Fiddle end def test_no_memory_leak - prep = 'r = Fiddle::Function.new(Fiddle.dlopen(nil)["rb_obj_tainted"], [Fiddle::TYPE_UINTPTR_T], Fiddle::TYPE_UINTPTR_T); a = "a"' + prep = 'r = Fiddle::Function.new(Fiddle.dlopen(nil)["rb_obj_frozen"], [Fiddle::TYPE_UINTPTR_T], Fiddle::TYPE_UINTPTR_T); a = "a"' code = 'begin r.call(a); rescue TypeError; end' assert_no_memory_leak(%w[-W0 -rfiddle], "#{prep}\n1000.times{#{code}}", "10_000.times {#{code}}", limit: 1.2) end diff --git a/test/fiddle/test_handle.rb b/test/fiddle/test_handle.rb index c0fac39908..17f9c92a11 100644 --- a/test/fiddle/test_handle.rb +++ b/test/fiddle/test_handle.rb @@ -8,29 +8,6 @@ module Fiddle class TestHandle < TestCase include Fiddle - def test_safe_handle_open - Thread.new do - $SAFE = 1 - assert_raise(SecurityError) { - Fiddle::Handle.new(LIBC_SO.dup.taint) - } - end.join - ensure - $SAFE = 0 - end - - def test_safe_function_lookup - Thread.new do - h = Fiddle::Handle.new(LIBC_SO) - $SAFE = 1 - assert_raise(SecurityError) { - h["qsort".dup.taint] - } - end.join - ensure - $SAFE = 0 - end - def test_to_i handle = Fiddle::Handle.new(LIBC_SO) assert_kind_of Integer, handle.to_i diff --git a/test/fiddle/test_pointer.rb b/test/fiddle/test_pointer.rb index b1122aa9c5..5581c1dea7 100644 --- a/test/fiddle/test_pointer.rb +++ b/test/fiddle/test_pointer.rb @@ -79,7 +79,6 @@ module Fiddle def test_to_ptr_string str = "hello world" ptr = Pointer[str] - assert ptr.tainted?, 'pointer should be tainted' assert_equal str.length, ptr.size assert_equal 'hello', ptr[0,5] end -- cgit v1.2.3