From: matz@... (Yukihiro Matsumoto) Date: 1998-12-25T12:12:35+09:00 Subject: [ruby-dev:3978] Re: [BUG] exception in safe level 4 まつもと ゆきひろです In message "[ruby-dev:3966] [BUG] exception in safe level 4" on 98/12/25, Shugo Maeda writes: |safe levelが4の時に例外が発生すると無限ループに陥いります。 |これはrb_exc_newでrb_iv_setを呼ぶ時に例外が発生し、再びrb_exc_newが |呼ばれるためです。 あれ? うちでは ruby -e '$SAFE=4; raise' くらいでは無限ループになりませんでしたが.どういう条件で発生 しますか? |safe levelが4の時に!tainted?なオブジェクトに対して変更が許されなくな |っているせいなのですが、これは制限がきつすぎないでしょうか。 |変更された時にtaintするくらいでよいように思います。 これはいろいろあって「変更を許さない」でないとマズいのです. $SAFEが1の時と4の時では要求しているレベルが全然違うので. まつもと ゆきひろ /:|)