ruby-changes:16097
From: shyouhei <ko1@a...>
Date: Fri, 28 May 2010 11:43:49 +0900 (JST)
Subject: [ruby-changes:16097] Ruby:r28048 (trunk): * array.c (rb_ary_product): Do not rely on GC, t0 should be
shyouhei 2010-05-28 11:43:34 +0900 (Fri, 28 May 2010) New Revision: 28048 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28048 Log: * array.c (rb_ary_product): Do not rely on GC, t0 should be checked explicitly. Modified files: trunk/ChangeLog trunk/array.c Index: array.c =================================================================== --- array.c (revision 28047) +++ array.c (revision 28048) @@ -4345,10 +4345,14 @@ /* put it on the result array */ if(NIL_P(result)) { + FL_SET(t0, FL_USER5); rb_yield(subarray); - if (RBASIC(t0)->klass) { + if (! FL_TEST(t0, FL_USER5)) { rb_raise(rb_eRuntimeError, "product reentered"); } + else { + FL_UNSET(t0, FL_USER5); + } } else { rb_ary_push(result, subarray); Index: ChangeLog =================================================================== --- ChangeLog (revision 28047) +++ ChangeLog (revision 28048) @@ -1,3 +1,8 @@ +Fri May 28 11:40:07 2010 URABE Shyouhei <shyouhei@r...> + + * array.c (rb_ary_product): Do not rely on GC, t0 should be + checked explicitly. + Fri May 28 10:40:37 2010 Nobuyoshi Nakada <nobu@r...> * lib/mkmf.rb (checking_for): ignore toplevel. -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/