ruby-changes:69719
From: Yusuke <ko1@a...>
Date: Fri, 12 Nov 2021 17:36:58 +0900 (JST)
Subject: [ruby-changes:69719] 415671a282 (master): parse.y: Fix memory leak at parse error
https://git.ruby-lang.org/ruby.git/commit/?id=415671a282 From 415671a28273e5bfbe9aa00a0e386f025720ac23 Mon Sep 17 00:00:00 2001 From: Yusuke Endoh <mame@r...> Date: Fri, 12 Nov 2021 14:37:16 +0900 Subject: parse.y: Fix memory leak at parse error Local variable tables might leak at the parse error. --- parse.y | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/parse.y b/parse.y index 6461b73c73d..8bfb7f2757c 100644 --- a/parse.y +++ b/parse.y @@ -6353,11 +6353,17 @@ yycompile(VALUE vparser, struct parser_params *p, VALUE fname, int line) https://github.com/ruby/ruby/blob/trunk/parse.y#L6353 } p->ruby_sourceline = line - 1; + p->lvtbl = NULL; + p->ast = ast = rb_ast_new(); rb_suppress_tracing(yycompile0, (VALUE)p); p->ast = 0; RB_GC_GUARD(vparser); /* prohibit tail call optimization */ + while (p->lvtbl) { + local_pop(p); + } + return ast; } #endif /* !RIPPER */ -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/