From 9c3bf9bec4927510c881ee807de5d37026fa89a8 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 11 May 2012 05:09:58 +0000 Subject: [PATCH] * ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC, must not cast it to unsigned long, which may be shorter than VALUE, and the result can be mere garbage. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@35619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ ext/bigdecimal/bigdecimal.c | 2 +- version.h | 8 ++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index dc283e95353b8f..b6c28b4e9063f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri May 11 14:09:48 2012 Nobuyoshi Nakada + + * ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC, + must not cast it to unsigned long, which may be shorter than + VALUE, and the result can be mere garbage. + Fri Apr 20 12:40:19 2012 Eric Hodel * lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem: Removed to avoid diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c index 817fc13cfd5079..1a712e9cb9c472 100644 --- a/ext/bigdecimal/bigdecimal.c +++ b/ext/bigdecimal/bigdecimal.c @@ -35,7 +35,7 @@ VALUE rb_cBigDecimal; /* MACRO's to guard objects from GC by keeping them in stack */ #define ENTER(n) volatile VALUE vStack[n];int iStack=0 -#define PUSH(x) vStack[iStack++] = (unsigned long)(x); +#define PUSH(x) vStack[iStack++] = (VALUE)(x); #define SAVE(p) PUSH(p->obj); #define GUARD_OBJ(p,y) {p=y;SAVE(p);} diff --git a/version.h b/version.h index f5a6112dd5a3ca..a1d36c265fcec4 100644 --- a/version.h +++ b/version.h @@ -1,13 +1,13 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_PATCHLEVEL 320 +#define RUBY_PATCHLEVEL 321 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 #define RUBY_RELEASE_YEAR 2012 -#define RUBY_RELEASE_MONTH 4 -#define RUBY_RELEASE_DAY 20 -#define RUBY_RELEASE_DATE "2012-04-20" +#define RUBY_RELEASE_MONTH 5 +#define RUBY_RELEASE_DAY 11 +#define RUBY_RELEASE_DATE "2012-05-11" #include "ruby/version.h"