summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-06-03 11:59:59 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-06-03 11:59:59 +0000
commit7686f4cd0ebe299db0bc380489fd6783a14b0572 (patch)
tree07b57201258533572c61bbdddefb55999fd9d32d
parentc852a64cc7308d0b060083ad8dfc218b33f7996e (diff)
merge revision(s) 22674:
* 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]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@23626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--eval.c2
-rw-r--r--version.h11
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 <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
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
+