From 60ea0155bb3b71c82142da4e2ae89f824f859334 Mon Sep 17 00:00:00 2001 From: mame Date: Tue, 4 Aug 2009 16:44:05 +0000 Subject: * lib/pp.rb (guard_inspect_key): untrust internal hash to prevent unexpected SecurityError. * test/ruby/test_object.rb: add a test for [ruby-dev:38982]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/pp.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/pp.rb b/lib/pp.rb index e28875c8e..a71ce9db3 100644 --- a/lib/pp.rb +++ b/lib/pp.rb @@ -107,17 +107,17 @@ class PP < PrettyPrint module PPMethods def guard_inspect_key if Thread.current[:__recursive_key__] == nil - Thread.current[:__recursive_key__] = {} + Thread.current[:__recursive_key__] = {}.untrust end if Thread.current[:__recursive_key__][:inspect] == nil - Thread.current[:__recursive_key__][:inspect] = {} + Thread.current[:__recursive_key__][:inspect] = {}.untrust end save = Thread.current[:__recursive_key__][:inspect] begin - Thread.current[:__recursive_key__][:inspect] = {} + Thread.current[:__recursive_key__][:inspect] = {}.untrust yield ensure Thread.current[:__recursive_key__][:inspect] = save -- cgit