From: Kazuhiko Shiozaki Date: 2009-08-04T04:01:57+09:00 Subject: [ruby-dev:38997] [Bug #1864] Ruby-1.8.7 $SAFE=4のarray/hashのrecursive比較でSecurityError チケット #1864 が更新されました。 (by Kazuhiko Shiozaki) > trunk fixed in r24371. trunkについては、上記の Index: thread.c =================================================================== --- thread.c (revision 24372) +++ thread.c (working copy) @@ -3354,6 +3354,7 @@ sym = ID2SYM(rb_frame_this_func()); if (NIL_P(hash) || TYPE(hash) != T_HASH) { hash = rb_hash_new(); + OBJ_UNTRUST(hash); rb_thread_local_aset(rb_thread_current(), recursive_key, hash); list = Qnil; } もお願いします。 # 再現する短いテストコードが無いのですが、これも含めると元のtDiaryでの問題がどちらも解決するのは確認しました。 ---------------------------------------- http://redmine.ruby-lang.org/issues/show/1864 ---------------------------------------- http://redmine.ruby-lang.org