Also eclass loop can raise in rb_obj_is_kind_of

This commit is contained in:
Nobuyoshi Nakada 2021-02-09 10:08:30 +09:00
parent e0c100ec96
commit a6f5f3cccd
Notes: git 2021-02-09 12:59:38 +09:00

2
eval.c
View File

@ -1034,6 +1034,7 @@ rb_vrescue2(VALUE (* b_proc) (VALUE), VALUE data1,
int handle = FALSE;
VALUE eclass;
result = Qnil;
while ((eclass = va_arg(args, VALUE)) != 0) {
if (rb_obj_is_kind_of(ec->errinfo, eclass)) {
handle = TRUE;
@ -1042,7 +1043,6 @@ rb_vrescue2(VALUE (* b_proc) (VALUE), VALUE data1,
}
if (handle) {
result = Qnil;
state = TAG_NONE;
if (r_proc) {
result = (*r_proc) (data2, ec->errinfo);