diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | compile.c | 4 |
2 files changed, 8 insertions, 0 deletions
@@ -1,3 +1,7 @@ +Thu Oct 16 23:37:11 2008 Yusuke Endoh <mame@tsg.ne.jp> + + * compile.c (iseq_set_sequence): fix memory leak. + Thu Oct 16 23:27:27 2008 Tanaka Akira <akr@fsij.org> * lib/test/unit.rb (assert_equal): avoid incompatible character @@ -1309,6 +1309,8 @@ iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *anchor) rb_compile_error(RSTRING_PTR(iseq->filename), iobj->line_no, "operand size miss! (%d for %d)", iobj->operand_size, len - 1); + xfree(generated_iseq); + xfree(insn_info_table); return 0; } @@ -1403,6 +1405,8 @@ iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *anchor) default: rb_compile_error(RSTRING_PTR(iseq->filename), iobj->line_no, "unknown operand type: %c", type); + xfree(generated_iseq); + xfree(insn_info_table); return 0; } } |