From b1cd31e284ecf601dad1a62491c7e24d7952f276 Mon Sep 17 00:00:00 2001 From: nagachika Date: Wed, 16 Dec 2015 12:08:49 +0000 Subject: * ext/fiddle/handle.c: check tainted string arguments. Patch provided by tenderlove and nobu. * test/fiddle/test_handle.rb (class TestHandle): add test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/fiddle/test_handle.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'test/fiddle') diff --git a/test/fiddle/test_handle.rb b/test/fiddle/test_handle.rb index f14357c6cb..fecf366f4f 100644 --- a/test/fiddle/test_handle.rb +++ b/test/fiddle/test_handle.rb @@ -10,6 +10,23 @@ module Fiddle include Test::Unit::Assertions + def test_safe_handle_open + t = Thread.new do + $SAFE = 1 + Fiddle::Handle.new(LIBC_SO.taint) + end + assert_raise(SecurityError) { t.value } + end + + def test_safe_function_lookup + t = Thread.new do + h = Fiddle::Handle.new(LIBC_SO) + $SAFE = 1 + h["qsort".taint] + end + assert_raise(SecurityError) { t.value } + end + def test_to_i handle = Fiddle::Handle.new(LIBC_SO) assert_kind_of Integer, handle.to_i -- cgit v1.2.3