From f230b1ec985696164b208e4e42687e572b82e5c1 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 16 Aug 2012 02:52:09 +0000 Subject: [PATCH] test_printf.rb: need to be infected * test/-ext-/test_printf.rb (Test_SPrintf#test_{taint,untrust}): use plain object so that the results of to_s and inspect are infected. [ruby-dev:46053] [Bug #6881] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ test/-ext-/test_printf.rb | 18 +++++++----------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 12a57ac20a..986c5e2151 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Aug 16 11:52:06 2012 Nobuyoshi Nakada + + * test/-ext-/test_printf.rb (Test_SPrintf#test_{taint,untrust}): use + plain object so that the results of to_s and inspect are infected. + [ruby-dev:46053] [Bug #6881] + Thu Aug 16 09:46:07 2012 Nobuyoshi Nakada * strftime.c: remove unnecessary macros to check traditional C. diff --git a/test/-ext-/test_printf.rb b/test/-ext-/test_printf.rb index 4c4001654a..4b471ab5d9 100644 --- a/test/-ext-/test_printf.rb +++ b/test/-ext-/test_printf.rb @@ -30,24 +30,20 @@ class Test_SPrintf < Test::Unit::TestCase end def test_taint - def self.to_s - super.taint - end + obj = Object.new.taint assert_equal({to_s: true, inspect: true}, { - to_s: Bug::Printf.s(self).tainted?, - inspect: Bug::Printf.v(self).tainted?, + to_s: Bug::Printf.s(obj).tainted?, + inspect: Bug::Printf.v(obj).tainted?, }) end - def test_trust - def self.to_s - super.untrust - end + def test_untrust + obj = Object.new.untrust assert_equal({to_s: true, inspect: true}, { - to_s: Bug::Printf.s(self).untrusted?, - inspect: Bug::Printf.v(self).untrusted?, + to_s: Bug::Printf.s(obj).untrusted?, + inspect: Bug::Printf.v(obj).untrusted?, }) end end