diff options
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index e70cb646da..aee9b81927 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -1090,7 +1090,9 @@ vm_throw_start(rb_thread_t *const th, rb_control_frame_t *const reg_cfp, enum ru for (i=0; i<ct_size; i++) { const struct iseq_catch_table_entry * const entry = &ct->entries[i]; - if (entry->type == CATCH_TYPE_BREAK && entry->start < epc && entry->end >= epc) { + if (entry->type == CATCH_TYPE_BREAK && + entry->iseq == base_iseq && + entry->start < epc && entry->end >= epc) { if (entry->cont == epc) { /* found! */ is_orphan = 0; } |