diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | version.h | 6 | ||||
-rw-r--r-- | vm_core.h | 6 |
3 files changed, 18 insertions, 4 deletions
@@ -1,3 +1,13 @@ +Tue Jun 4 00:02:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_core.h (rb_vm_tag): move jmpbuf between tag and prev so ensure to + be accessible. + +Tue Jun 4 00:02:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval_intern.h (TH_PUSH_TAG): ensure jmpbuf to be accessible before + pushing tag to get rid of unaccessible tag by stack overflow. + Mon Jun 3 23:22:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> * compile.c (iseq_compile_each): forward anonymous and first keyword @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.0.0" -#define RUBY_RELEASE_DATE "2013-06-03" -#define RUBY_PATCHLEVEL 199 +#define RUBY_RELEASE_DATE "2013-06-04" +#define RUBY_PATCHLEVEL 200 #define RUBY_RELEASE_YEAR 2013 #define RUBY_RELEASE_MONTH 6 -#define RUBY_RELEASE_DAY 3 +#define RUBY_RELEASE_DAY 4 #include "ruby/version.h" @@ -461,10 +461,14 @@ enum rb_thread_status { typedef RUBY_JMP_BUF rb_jmpbuf_t; +/* + the members which are written in TH_PUSH_TAG() should be placed at + the beginning and the end, so that entire region is accessible. +*/ struct rb_vm_tag { - rb_jmpbuf_t buf; VALUE tag; VALUE retval; + rb_jmpbuf_t buf; struct rb_vm_tag *prev; }; |