mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
proc.c: should not reference irep when copying failed.
It may cause broken reference count numbers.
This commit is contained in:
+3
-3
@@ -207,12 +207,12 @@ mrb_proc_copy(mrb_state *mrb, struct RProc *a, struct RProc *b)
|
||||
/* already initialized proc */
|
||||
return;
|
||||
}
|
||||
if (!MRB_PROC_CFUNC_P(b) && b->body.irep) {
|
||||
mrb_irep_incref(mrb, (mrb_irep*)b->body.irep);
|
||||
}
|
||||
a->flags = b->flags;
|
||||
a->body = b->body;
|
||||
a->upper = b->upper;
|
||||
if (!MRB_PROC_CFUNC_P(a) && a->body.irep) {
|
||||
mrb_irep_incref(mrb, (mrb_irep*)a->body.irep);
|
||||
}
|
||||
a->e.env = b->e.env;
|
||||
/* a->e.target_class = a->e.target_class; */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user