summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--parse.y4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 9bad90e7f5..ade513c3a4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Aug 2 15:51:50 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (yylex): 8 and 9 in octal integer should cause compile
+ error. [ruby-dev:35729]
+
Sat Aug 2 01:06:10 2008 NARUSE, Yui <naruse@ruby-lang.org>
* enc/trans/japanese.c: add U+FF5E to EUC-JP.
diff --git a/parse.y b/parse.y
index 6abc2da09e..546c08b48a 100644
--- a/parse.y
+++ b/parse.y
@@ -6656,7 +6656,8 @@ parser_yylex(struct parser_params *parser)
nondigit = c;
continue;
}
- if (c < '0' || c > '7') break;
+ if (c < '0' || c > '9') break;
+ if (c > '7') goto invalid_octal;
nondigit = 0;
tokadd(c);
} while ((c = nextc()) != -1);
@@ -6673,6 +6674,7 @@ parser_yylex(struct parser_params *parser)
}
}
if (c > '7' && c <= '9') {
+ invalid_octal:
yyerror("Invalid octal digit");
}
else if (c == '.' || c == 'e' || c == 'E') {