From: "K.Kosako" Date: 2002-01-17T14:47:21+09:00 Subject: [ruby-dev:15698] Re: ブロックの taint Yukihiro Matsumotoさんの<1010980637.707539.8246.nullmailer@ev.netlab.jp>から > |Procをtaintにしていても一度ブロックにしてしまうと消えて > |しまうのですが、そういうものなんでしょうか? > > 保存したほうが良いのかなあ。それだと保存する場所を用意しない > となあ。あるいはtaintされたProcはブロックにできないとか。 * eval.c (block_pass): should not pass tainted block, if $SAFE > 0. この仕様だと、$SAFE >= 3のときには、ブロックの中継ができなくなります。 def foo(&b) bar(&b) end def bar; end $SAFE = 3 foo() { puts "..." } 手続きオブジェクト自身のsafe level >= 3のときは実行を許しても、 良いのではないでしょうか? -- 小迫@ソフネック 渋谷区恵比寿1-15-1