diff options
Diffstat (limited to 'src/state.c')
| -rw-r--r-- | src/state.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/state.c b/src/state.c index 40d9bfc45..991be310e 100644 --- a/src/state.c +++ b/src/state.c @@ -92,7 +92,8 @@ mrb_close(mrb_state *mrb) mrb_free(mrb, mrb->stbase); mrb_free(mrb, mrb->cibase); for (i=0; i<mrb->irep_len; i++) { - mrb_free(mrb, mrb->irep[i]->iseq); + if (!(mrb->irep[i]->flags & MRB_ISEQ_NO_FREE)) + mrb_free(mrb, mrb->irep[i]->iseq); mrb_free(mrb, mrb->irep[i]->pool); mrb_free(mrb, mrb->irep[i]->syms); mrb_free(mrb, mrb->irep[i]->lines); |
