summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-11-18 16:53:12 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-11-18 16:53:12 +0000
commit94175959938eff1977b6895e98c626bae31788ac (patch)
treebc0247b40e9f718ba34f88a012d8b953576a58e8
parent30e97cbb8b4095250784cae859ba970413451f45 (diff)
* parse.y (parser_read_escape): disallow control and meta modifiers
for non-ASCII characters. [ruby-core:13685] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--parse.y4
-rw-r--r--version.h6
3 files changed, 10 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index ee386b3758..1118fe219b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Nov 19 01:53:11 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (parser_read_escape): disallow control and meta modifiers
+ for non-ASCII characters. [ruby-core:13685]
+
Sun Nov 18 20:47:41 2007 Tanaka Akira <akr@fsij.org>
* marshal.c (mark_dump_arg): it may be called after dump_ensure.
diff --git a/parse.y b/parse.y
index eb3a250120..907f0c2de2 100644
--- a/parse.y
+++ b/parse.y
@@ -5140,7 +5140,7 @@ parser_read_escape(struct parser_params *parser, int flags,
*has8bit = 1;
return read_escape(flags|ESCAPE_META, &tmp, &tmp, encp) | 0x80;
}
- else if (c == -1) goto eof;
+ else if (c == -1 || !ISASCII(c)) goto eof;
else {
*has8bit = 1;
return ((c & 0xff) | 0x80);
@@ -5159,7 +5159,7 @@ parser_read_escape(struct parser_params *parser, int flags,
}
else if (c == '?')
return 0177;
- else if (c == -1) goto eof;
+ else if (c == -1 || !ISASCII(c)) goto eof;
return c & 0x9f;
eof:
diff --git a/version.h b/version.h
index 418f707b86..d02a2eaa5d 100644
--- a/version.h
+++ b/version.h
@@ -1,7 +1,7 @@
#define RUBY_VERSION "1.9.0"
-#define RUBY_RELEASE_DATE "2007-11-18"
+#define RUBY_RELEASE_DATE "2007-11-19"
#define RUBY_VERSION_CODE 190
-#define RUBY_RELEASE_CODE 20071118
+#define RUBY_RELEASE_CODE 20071119
#define RUBY_PATCHLEVEL 0
#define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
#define RUBY_VERSION_TEENY 0
#define RUBY_RELEASE_YEAR 2007
#define RUBY_RELEASE_MONTH 11
-#define RUBY_RELEASE_DAY 18
+#define RUBY_RELEASE_DAY 19
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];