From 99664f9ec38d8ec55e0199ce54f587aebb030b96 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 15 Oct 2009 09:26:15 +0000 Subject: * parse.y (rb_intern3): check symbol table overflow before generate next id. [ruby-core:26092] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@25352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 4005e7265..ceaeed29a 100644 --- a/parse.y +++ b/parse.y @@ -9498,7 +9498,7 @@ rb_intern3(const char *name, long len, rb_encoding *enc) mbstr:; } new_id: - if (!(global_symbols.last_id << (ID_SCOPE_SHIFT+RUBY_SPECIAL_SHIFT))) { + if (global_symbols.last_id >= ~(ID)0 >> (ID_SCOPE_SHIFT+RUBY_SPECIAL_SHIFT)) { if (len > 20) { rb_raise(rb_eRuntimeError, "symbol table overflow (symbol %.20s...)", name); -- cgit