[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]