diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-14 09:01:05 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-14 09:01:05 +0000 |
commit | 52cd11a3050ef87e756fa683394c7a6f8b99167f (patch) | |
tree | 17edbc32217b998f675e1ce49174bb0d56997947 | |
parent | 383ad6740e62e4d17df5876b7ee9dc35d801666d (diff) |
* 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]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@35325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | bignum.c | 3 |
2 files changed, 7 insertions, 9 deletions
@@ -1,11 +1,8 @@ -Tue Mar 6 12:03:33 2012 Nobuyoshi Nakada <[email protected]> - - * 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 +Sat Apr 14 18:00:59 2012 Nobuyoshi Nakada <[email protected]> + + * 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 <[email protected]> @@ -772,7 +772,7 @@ rb_big2str0(x, base, trim) int base; int trim; { - volatile VALUE t; + VALUE t; BDIGIT *ds; long i, j, hbase; VALUE ss; @@ -847,6 +847,7 @@ rb_big2str0(x, base, trim) 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) { |