summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--prism/prism.c2
-rw-r--r--test/prism/fuzzer_test.rb1
2 files changed, 2 insertions, 1 deletions
diff --git a/prism/prism.c b/prism/prism.c
index 41dca4cb65..15e550d245 100644
--- a/prism/prism.c
+++ b/prism/prism.c
@@ -6338,7 +6338,7 @@ lex_optional_float_suffix(pm_parser_t *parser, bool* seen_e) {
(void) (match(parser, '+') || match(parser, '-'));
*seen_e = true;
- if (pm_char_is_decimal_digit(*parser->current.end)) {
+ if (pm_char_is_decimal_digit(peek(parser))) {
parser->current.end++;
parser->current.end += pm_strspn_decimal_number_validate(parser, parser->current.end);
type = PM_TOKEN_FLOAT;
diff --git a/test/prism/fuzzer_test.rb b/test/prism/fuzzer_test.rb
index 0aabd56242..ac112f897a 100644
--- a/test/prism/fuzzer_test.rb
+++ b/test/prism/fuzzer_test.rb
@@ -35,6 +35,7 @@ module Prism
snippet "escaped unicode at end of file 7", '"\\u3'
snippet "escaped unicode at end of file 8", '"\\u33'
snippet "escaped unicode at end of file 9", '"\\u333'
+ snippet "float suffix at end of file", "1e"
snippet "statements node with multiple heredocs", <<~EOF
for <<A + <<B