mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
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:
+1
-1
@@ -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,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user