ruby-changes:23274
From: nobu <ko1@a...>
Date: Sat, 14 Apr 2012 18:01:14 +0900 (JST)
Subject: [ruby-changes:23274] nobu:r35325 (ruby_1_8): * bignum.c (rb_big2str0): prevent working clone from
nobu 2012-04-14 18:01:05 +0900 (Sat, 14 Apr 2012) New Revision: 35325 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35325 Log: * bignum.c (rb_big2str0): prevent working clone from GC. [exerb-dev:0578]. patched by MURASE Masamitsu <masamitsu.murase AT gmail.com> at [exerb-dev:0580] Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/bignum.c Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 35324) +++ ruby_1_8/ChangeLog (revision 35325) @@ -1,11 +1,8 @@ -Tue Mar 6 12:03:33 2012 Nobuyoshi Nakada <nobu@r...> +Sat Apr 14 18:00:59 2012 Nobuyoshi Nakada <nobu@r...> - * lib/yaml/rubytypes.rb (Exception.yaml_new): fix bug that causes - YAML serialization problem for Exception. - Exception#initialize doesn't use visible instance variable for - the exception message, so call the method with the message. - patched by Jingwen Owen Ou <jingweno AT gmail.com>. - http://github.com/ruby/ruby/pull/41 + * bignum.c (rb_big2str0): prevent working clone from + GC. [exerb-dev:0578]. patched by MURASE Masamitsu + <masamitsu.murase AT gmail.com> at [exerb-dev:0580] Fri Mar 2 10:53:01 2012 Nobuyoshi Nakada <nobu@r...> Index: ruby_1_8/bignum.c =================================================================== --- ruby_1_8/bignum.c (revision 35324) +++ ruby_1_8/bignum.c (revision 35325) @@ -772,7 +772,7 @@ int base; int trim; { - volatile VALUE t; + VALUE t; BDIGIT *ds; long i, j, hbase; VALUE ss; @@ -847,6 +847,7 @@ if (trim && i == 0 && num == 0) break; } } + RB_GC_GUARD(t); if (trim) {while (s[j] == '0') j++;} i = RSTRING(ss)->len - j; if (RBIGNUM(x)->sign) { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/