From ef59175a68c448fe334125824b477a9e1d5629bc Mon Sep 17 00:00:00 2001 From: Adam Hess Date: Mon, 25 Sep 2023 23:03:04 +0000 Subject: fix iseq kwargs table and original_iseq leaks [bug #19903] Co-authored-by: Peter Zhu --- iseq.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/iseq.c b/iseq.c index db7303aac5..6f21e16c83 100644 --- a/iseq.c +++ b/iseq.c @@ -188,7 +188,11 @@ rb_iseq_free(const rb_iseq_t *iseq) ruby_xfree((void *)body->mark_bits.list); } + ruby_xfree(body->variable.original_iseq); + if (body->param.keyword != NULL) { + if (body->param.keyword->table != &body->local_table[body->param.keyword->bits_start - body->param.keyword->num]) + ruby_xfree((void *)body->param.keyword->table); ruby_xfree((void *)body->param.keyword->default_values); ruby_xfree((void *)body->param.keyword); } -- cgit v1.2.3