[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]