diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | eval.c | 2 | ||||
-rw-r--r-- | version.h | 11 |
3 files changed, 14 insertions, 5 deletions
@@ -1,3 +1,9 @@ +Wed Jun 3 20:54:23 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval.c (rb_eval): needs to guard intermediate string objects. + based on a patch from Brent Roman <brent AT mbari.org> a + [ruby-core:22584]. + Tue May 26 21:24:01 2009 URABE Shyouhei <shyouhei@ruby-lang.org> * Makefile.in (update-rubyspec, test-rubyspec): Catch up to @@ -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: @@ -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 + |