ruby-changes:12656
From: matz <ko1@a...>
Date: Mon, 3 Aug 2009 18:15:29 +0900 (JST)
Subject: [ruby-changes:12656] Ruby:r24371 (trunk): * thread.c (recursive_push): untrust internal hash to prevent
matz 2009-08-03 18:15:09 +0900 (Mon, 03 Aug 2009) New Revision: 24371 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24371 Log: * thread.c (recursive_push): untrust internal hash to prevent unexpected SecurityError. a patch from Kazuhiro NISHIYAMA. Fix: #1864 [ruby-dev:38982] Modified files: trunk/ChangeLog trunk/thread.c Index: ChangeLog =================================================================== --- ChangeLog (revision 24370) +++ ChangeLog (revision 24371) @@ -1,3 +1,9 @@ +Mon Aug 3 18:12:54 2009 Yukihiro Matsumoto <matz@r...> + + * thread.c (recursive_push): untrust internal hash to prevent + unexpected SecurityError. a patch from Kazuhiro NISHIYAMA. + Fix: #1864 [ruby-dev:38982] + Mon Aug 3 17:06:05 2009 Yukihiro Matsumoto <matz@r...> * lib/README: updated. a patch from Daniel Bovensiepen. Index: thread.c =================================================================== --- thread.c (revision 24370) +++ thread.c (revision 24371) @@ -3362,6 +3362,7 @@ } if (NIL_P(list) || TYPE(list) != T_HASH) { list = rb_hash_new(); + OBJ_UNTRUST(list); rb_hash_aset(hash, sym, list); } if (!paired_obj) { @@ -3374,6 +3375,7 @@ if (TYPE(pair_list) != T_HASH){ VALUE other_paired_obj = pair_list; pair_list = rb_hash_new(); + OBJ_UNTRUST(pair_list); rb_hash_aset(pair_list, other_paired_obj, Qtrue); rb_hash_aset(list, obj, pair_list); } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/