diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-18 16:53:12 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-18 16:53:12 +0000 |
commit | 19468be1d2bab23e42ec90b4a99bc0d2d0697038 (patch) | |
tree | bc0247b40e9f718ba34f88a012d8b953576a58e8 /parse.y | |
parent | 36c7bb26d84b44d2b54ce53e57d7de9cb3a6bd9f (diff) | |
download | ruby-19468be1d2bab23e42ec90b4a99bc0d2d0697038.tar.gz ruby-19468be1d2bab23e42ec90b4a99bc0d2d0697038.tar.xz ruby-19468be1d2bab23e42ec90b4a99bc0d2d0697038.zip |
* parse.y (parser_read_escape): disallow control and meta modifiers
for non-ASCII characters. [ruby-core:13685]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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: |