From b879528e24272d8fbe41fe0e4e07cadcca5b643c Mon Sep 17 00:00:00 2001 From: Kevin Newton Date: Wed, 21 Jun 2023 11:25:13 -0400 Subject: [PATCH] [ruby/yarp] Do not leak memory from lex modes https://github.com/ruby/yarp/commit/df6661740c --- yarp/yarp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/yarp/yarp.c b/yarp/yarp.c index db9a7ba562..0475c44836 100644 --- a/yarp/yarp.c +++ b/yarp/yarp.c @@ -12841,6 +12841,10 @@ yp_parser_free(yp_parser_t *parser) { yp_comment_list_free(&parser->comment_list); yp_constant_pool_free(&parser->constant_pool); yp_newline_list_free(&parser->newline_list); + + while (parser->lex_modes.index >= YP_LEX_STACK_SIZE) { + lex_mode_pop(parser); + } } // Parse the Ruby source associated with the given parser and return the tree.