diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gc.c | 11 |
1 files changed, 3 insertions, 8 deletions
@@ -225,14 +225,9 @@ mrb_realloc(mrb_state *mrb, void *p, size_t len) p2 = mrb_realloc_simple(mrb, p, len); if (len == 0) return p2; if (p2 == NULL) { - if (mrb->gc.out_of_memory) { - mrb_raise_nomemory(mrb); - /* mrb_panic(mrb); */ - } - else { - mrb->gc.out_of_memory = TRUE; - mrb_raise_nomemory(mrb); - } + mrb_free(mrb, p); + mrb->gc.out_of_memory = TRUE; + mrb_raise_nomemory(mrb); } else { mrb->gc.out_of_memory = FALSE; |
