From 7686f4cd0ebe299db0bc380489fd6783a14b0572 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Wed, 3 Jun 2009 11:59:59 +0000 Subject: merge revision(s) 22674: * eval.c (rb_eval): needs to guard intermediate string objects. based on a patch from Brent Roman a [ruby-core:22584]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@23626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ eval.c | 2 ++ version.h | 11 ++++++----- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index ac534314b8..bac3fe3c4b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Jun 3 20:54:23 2009 Nobuyoshi Nakada + + * eval.c (rb_eval): needs to guard intermediate string objects. + based on a patch from Brent Roman a + [ruby-core:22584]. + Tue May 26 21:24:01 2009 URABE Shyouhei * Makefile.in (update-rubyspec, test-rubyspec): Catch up to diff --git a/eval.c b/eval.c index d53101ca6e..7308409df1 100644 --- a/eval.c +++ b/eval.c @@ -3898,11 +3898,13 @@ rb_eval(self, n) case NODE_DREGX: result = rb_reg_new(RSTRING(str)->ptr, RSTRING(str)->len, node->nd_cflag); + RB_GC_GUARD(str); /* ensure str is not GC'd in rb_reg_new */ break; case NODE_DREGX_ONCE: /* regexp expand once */ result = rb_reg_new(RSTRING(str)->ptr, RSTRING(str)->len, node->nd_cflag); nd_set_type(node, NODE_LIT); + RB_GC_GUARD(str); /* ensure str is not GC'd in rb_reg_new */ node->nd_lit = result; break; case NODE_LIT: diff --git a/version.h b/version.h index 51674256f6..3f06ef546a 100644 --- a/version.h +++ b/version.h @@ -1,15 +1,15 @@ #define RUBY_VERSION "1.8.7" -#define RUBY_RELEASE_DATE "2009-05-26" +#define RUBY_RELEASE_DATE "2009-06-03" #define RUBY_VERSION_CODE 187 -#define RUBY_RELEASE_CODE 20090526 -#define RUBY_PATCHLEVEL 167 +#define RUBY_RELEASE_CODE 20090603 +#define RUBY_PATCHLEVEL 168 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_TEENY 7 #define RUBY_RELEASE_YEAR 2009 -#define RUBY_RELEASE_MONTH 5 -#define RUBY_RELEASE_DAY 26 +#define RUBY_RELEASE_MONTH 6 +#define RUBY_RELEASE_DAY 3 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; @@ -28,3 +28,4 @@ RUBY_EXTERN const char *ruby_copyright; #define RUBY_RELEASE_STR "patchlevel" #define RUBY_RELEASE_NUM RUBY_PATCHLEVEL + -- cgit v1.2.3