aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vm_core.h2
-rw-r--r--vm_insnhelper.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/vm_core.h b/vm_core.h
index bcb0aae7ce..83e67dc43c 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -1334,7 +1334,7 @@ static inline const rb_iseq_t *
vm_block_iseq(const struct rb_block *block)
{
switch (vm_block_type(block)) {
- case block_type_iseq: return block->as.captured.code.iseq;
+ case block_type_iseq: return rb_iseq_check(block->as.captured.code.iseq);
case block_type_proc: return vm_proc_iseq(block->as.proc);
case block_type_ifunc:
case block_type_symbol: return NULL;
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index a1c3a9809d..903e6c4ab5 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -2562,7 +2562,7 @@ vm_invoke_iseq_block(rb_thread_t *th, rb_control_frame_t *reg_cfp,
struct rb_calling_info *calling, const struct rb_call_info *ci,
int is_lambda, const struct rb_captured_block *captured)
{
- const rb_iseq_t *iseq = captured->code.iseq;
+ const rb_iseq_t *iseq = rb_iseq_check(captured->code.iseq);
const int arg_size = iseq->body->param.size;
VALUE * const rsp = GET_SP() - calling->argc;
int opt_pc = vm_callee_setup_block_arg(th, calling, ci, iseq, rsp, is_lambda ? arg_setup_lambda : arg_setup_block);