From: Nobuyoshi Nakada Date: 2010-06-22T21:02:37+09:00 Subject: [ruby-dev:41673] Re: [Bug #3463] 1.9.2-preview3 で [BUG] gc_sweep(): unknown data type 0x0 なかだです。 At Tue, 22 Jun 2010 19:49:59 +0900, Tomoyuki Chikanaga wrote in [ruby-dev:41672]: > すみません、先程添付したパッチは問題がありました。 > struct dump_arg::str が指すスロットが一旦回収されて他のオブジェ > クトに割り当てられていた時に間違って taint してしまいそうです。 > T_DATA 型のオブジェクトに登録する free 関数の中では構造体が > VALUE 型で持っているRubyの参照は一切さわってはいけないですね。 finaliser_at_exitの時点では、新しいオブジェクトが割り当てられる ことは考えなくてもいいんじゃないかと思いますが。 > struct dump_arg の str は w_nbytes で書き込む時に > OBJ_TAINT/OBJ_UNTRUST すれば良いのではないかと考えパッチを書き > 直しました。 > make test-all でエラーが増えないことと、一応以下のような簡単な > 確認をしました。 よさそうに見えます。入れちゃっていいんじゃないですかね。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦