Skip to content

Commit db536da

Browse files
committed
errno.c (mrb_sce_sys_fail): SystemCallError may be overridden; fix mruby#5793
1 parent a5d7326 commit db536da

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

mrbgems/mruby-errno/src/errno.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ mrb_errno_define_exxx(mrb_state *mrb, mrb_sym name, int eno)
6666
}
6767
}
6868

69-
struct RClass *sce_class = mrb_class_get_id(mrb, MRB_SYM(SystemCallError));
69+
struct RClass *sce_class = mrb_exc_get_id(mrb, MRB_SYM(SystemCallError));
7070
struct RClass *e = mrb_define_class_under_id(mrb, errno_module, name, sce_class);
7171
mrb_define_const_id(mrb, e, MRB_SYM(Errno), mrb_fixnum_value(eno));
7272

@@ -272,7 +272,7 @@ mrb_sce_sys_fail(mrb_state *mrb, mrb_value cls)
272272
mrb_int argc;
273273

274274
mrb->c->ci->mid = 0;
275-
sce = mrb_class_get_id(mrb, MRB_SYM(SystemCallError));
275+
sce = mrb_class_ptr(cls);
276276
argc = mrb_get_args(mrb, "o|S", &no, &msg);
277277

278278
struct RBasic* e = mrb_obj_alloc(mrb, MRB_TT_EXCEPTION, sce);

0 commit comments

Comments
 (0)