From 639f6e2799f33a7889c4ca48ae0e314e67214dfc Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 11 Feb 2019 15:17:56 +0900 Subject: [PATCH] No strict argument check for blocks when keyword arguments exist; ref #4270 --- src/vm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index 49c2bb85c9..7904162be7 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1810,7 +1810,8 @@ mrb_vm_exec(mrb_state *mrb, struct RProc *proc, mrb_code *pc) kdict = argv[argc-1]; mrb_hash_check_kdict(mrb, kdict); } - else if (r || argc <= m1+m2+o) { + else if (r || argc <= m1+m2+o + || !(mrb->c->ci->proc && MRB_PROC_STRICT_P(mrb->c->ci->proc))) { kdict = mrb_hash_new(mrb); kargs = 0; }