diff --git a/src/gc.c b/src/gc.c index 76687dad0..01bf2fd32 100644 --- a/src/gc.c +++ b/src/gc.c @@ -215,7 +215,8 @@ mrb_realloc(mrb_state *mrb, void *p, size_t len) void *p2; p2 = mrb_realloc_simple(mrb, p, len); - if (!p2 && len) { + if (len == 0) return p2; + if (p2 == NULL) { if (mrb->gc.out_of_memory) { mrb_exc_raise(mrb, mrb_obj_value(mrb->nomem_err)); /* mrb_panic(mrb); */