Corrected the number of registers in the Class#new method

`OP_SEND R4 :allocate 0` requires an an invisible `nil` block to `R5`.
If `R5` is not allocated, this can lead to unexpected results due to buffer overflow.
This problem is caused by #5565.

ref. commit 33792c2a02
This commit is contained in:
dearblue
2022-07-17 10:38:53 +09:00
parent b1bfa1d5c8
commit c621d3cb95
+1 -1
View File
@@ -2873,7 +2873,7 @@ static const mrb_code new_iseq[] = {
MRB_PRESYM_DEFINE_VAR_AND_INITER(new_syms, 2, MRB_SYM(allocate), MRB_SYM(initialize))
static const mrb_irep new_irep = {
4, 5, 0, MRB_IREP_STATIC,
4, 6, 0, MRB_IREP_STATIC,
new_iseq, NULL, new_syms, NULL, NULL, NULL,
sizeof(new_iseq), 0, 2, 0, 0,
};