diff --git a/ChangeLog b/ChangeLog index eeaafaea2d2eb4..350006194d2776 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. + Sat Apr 14 18:00:59 2012 Nobuyoshi Nakada * bignum.c (rb_big2str0): prevent working clone from diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c index 64562edb5b8558..b3cb59def73077 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 f3c2b94f1a6355..6f4bdd4d2bc3ac 100644 --- a/version.h +++ b/version.h @@ -1,15 +1,15 @@ #define RUBY_VERSION "1.8.8" -#define RUBY_RELEASE_DATE "2012-04-14" +#define RUBY_RELEASE_DATE "2012-05-11" #define RUBY_VERSION_CODE 188 -#define RUBY_RELEASE_CODE 20120414 +#define RUBY_RELEASE_CODE 20120511 #define RUBY_PATCHLEVEL -1 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_TEENY 8 #define RUBY_RELEASE_YEAR 2012 -#define RUBY_RELEASE_MONTH 4 -#define RUBY_RELEASE_DAY 14 +#define RUBY_RELEASE_MONTH 5 +#define RUBY_RELEASE_DAY 11 #define NO_STRING_LITERAL_CONCATENATION 1 #ifdef RUBY_EXTERN