From 48cb70fee95dcdcf5f9eef2ef40c3adfecc214fa Mon Sep 17 00:00:00 2001 From: TSUYUSATO Kitsune Date: Mon, 11 Dec 2023 12:44:33 +0900 Subject: [ruby/prism] Fix parsing unterminated empty string `"` Fix https://github.com/ruby/prism/pull/2034 https://github.com/ruby/prism/commit/8280e577fa --- prism/prism.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'prism') diff --git a/prism/prism.c b/prism/prism.c index 9ca542ba30..1b5d82b4bb 100644 --- a/prism/prism.c +++ b/prism/prism.c @@ -13520,7 +13520,8 @@ parse_strings(pm_parser_t *parser, pm_node_t *current) { pm_token_t opening = parser->current; parser_lex(parser); - if (accept1(parser, PM_TOKEN_STRING_END)) { + if (match2(parser, PM_TOKEN_STRING_END, PM_TOKEN_EOF)) { + expect1(parser, PM_TOKEN_STRING_END, PM_ERR_STRING_LITERAL_TERM); // If we get here, then we have an end immediately after a // start. In that case we'll create an empty content token and // return an uninterpolated string. -- cgit v1.2.3