mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
codegen.c: s2 may be NULL.
Since `s2` is `NULL` on top-level, it will be an error. No need to generate strict bytecode.
This commit is contained in:
@@ -2811,7 +2811,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
}
|
||||
}
|
||||
/* keyword arguments */
|
||||
if ((s2->ainfo & 0x1) && tree->cdr->car) {
|
||||
if (s2 && (s2->ainfo & 0x1) && tree->cdr->car) {
|
||||
nk = gen_hash(s, tree->cdr->car->cdr, VAL, 14);
|
||||
if (nk < 0) {st++; nk = 15;}
|
||||
else st += nk;
|
||||
@@ -2821,6 +2821,9 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
if (tree->cdr->cdr) {
|
||||
codegen(s, tree->cdr->cdr, VAL);
|
||||
}
|
||||
else if (!s2) {/* super at top-level */
|
||||
push(); /* no need to push block */
|
||||
}
|
||||
else {
|
||||
gen_blkmove(s, s2->ainfo, lv);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user