summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/state.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/state.c b/src/state.c
index c8f3c48f8..52a1541cb 100644
--- a/src/state.c
+++ b/src/state.c
@@ -130,8 +130,10 @@ mrb_irep_free(mrb_state *mrb, mrb_irep *irep)
if (!(irep->flags & MRB_ISEQ_NO_FREE))
mrb_free(mrb, irep->iseq);
for (i=0; i<irep->plen; i++) {
- if (mrb_type(irep->pool[i]) == MRB_TT_STRING)
+ if (mrb_type(irep->pool[i]) == MRB_TT_STRING) {
+ mrb_free(mrb, mrb_str_ptr(irep->pool[i])->ptr);
mrb_free(mrb, mrb_obj_ptr(irep->pool[i]));
+ }
}
mrb_free(mrb, irep->pool);
mrb_free(mrb, irep->syms);