From ccc388d806b50999d1780b3aa7bce521644b8bf9 Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 16 Feb 2017 09:15:26 +0000 Subject: [PATCH] use rb_iseq_check() for USE_LAZY_LOAD, too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm_core.h | 2 +- vm_insnhelper.c | 2 +- 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);