ruby-changes:17391
From: nobu <ko1@a...>
Date: Sun, 3 Oct 2010 18:30:44 +0900 (JST)
Subject: [ruby-changes:17391] Ruby:r29396 (ruby_1_8): * parse.y (rb_intern): should check symbol table overflow.
nobu 2010-10-03 18:30:30 +0900 (Sun, 03 Oct 2010) New Revision: 29396 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29396 Log: * parse.y (rb_intern): should check symbol table overflow. #3900 [ruby-dev:42330] Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/parse.y branches/ruby_1_8/version.h Index: ruby_1_8/parse.y =================================================================== --- ruby_1_8/parse.y (revision 29395) +++ ruby_1_8/parse.y (revision 29396) @@ -6227,6 +6227,16 @@ } if (*m) id = ID_JUNK; new_id: + if (last_id >= SYM2ID(~(VALUE)0) >> ID_SCOPE_SHIFT) { + if (last > 20) { + rb_raise(rb_eRuntimeError, "symbol table overflow (symbol %.20s...)", + name); + } + else { + rb_raise(rb_eRuntimeError, "symbol table overflow (symbol %.*s)", + last, name); + } + } id |= ++last_id << ID_SCOPE_SHIFT; id_regist: name = strdup(name); Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 29395) +++ ruby_1_8/ChangeLog (revision 29396) @@ -1,3 +1,8 @@ +Sun Oct 3 18:30:23 2010 Nobuyoshi Nakada <nobu@r...> + + * parse.y (rb_intern): should check symbol table overflow. + #3900 [ruby-dev:42330] + Fri Oct 1 16:54:19 2010 Nobuyoshi Nakada <nobu@r...> * lib/rdoc/ri/ri_paths.rb (RI::Paths): use RbConfig instead of Index: ruby_1_8/version.h =================================================================== --- ruby_1_8/version.h (revision 29395) +++ ruby_1_8/version.h (revision 29396) @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.8.8" -#define RUBY_RELEASE_DATE "2010-10-01" +#define RUBY_RELEASE_DATE "2010-10-03" #define RUBY_VERSION_CODE 188 -#define RUBY_RELEASE_CODE 20101001 +#define RUBY_RELEASE_CODE 20101003 #define RUBY_PATCHLEVEL -1 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 8 #define RUBY_RELEASE_YEAR 2010 #define RUBY_RELEASE_MONTH 10 -#define RUBY_RELEASE_DAY 1 +#define RUBY_RELEASE_DAY 3 #define NO_STRING_LITERAL_CONCATENATION 1 #ifdef RUBY_EXTERN -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/