summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core/parse.y
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2022-01-10 15:44:15 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2022-01-10 15:44:15 +0900
commit5dfbfb3ecd788bd029d6ce000ba0649b9ec11e90 (patch)
tree1053a7fa73dcdf6becc1314409e9f0cb27f91574 /mrbgems/mruby-compiler/core/parse.y
parent8c7b99596260efa58480ffc23545264282b90049 (diff)
downloadmruby-5dfbfb3ecd788bd029d6ce000ba0649b9ec11e90.tar.gz
mruby-5dfbfb3ecd788bd029d6ce000ba0649b9ec11e90.zip
parse.y: `p->nvar` (numbered argument index list) may be `NULL`.
Diffstat (limited to 'mrbgems/mruby-compiler/core/parse.y')
-rw-r--r--mrbgems/mruby-compiler/core/parse.y7
1 files changed, 4 insertions, 3 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y
index de905e33f..579d4291a 100644
--- a/mrbgems/mruby-compiler/core/parse.y
+++ b/mrbgems/mruby-compiler/core/parse.y
@@ -712,9 +712,10 @@ new_cvar(parser_state *p, mrb_sym sym)
static node*
new_nvar(parser_state *p, int num)
{
- int nvars = intn(p->nvars->car);
-
- p->nvars->car = nint(nvars > num ? nvars : num);
+ if (p->nvars) {
+ int nvars = intn(p->nvars->car);
+ p->nvars->car = nint(nvars > num ? nvars : num);
+ }
return cons((node*)NODE_NVAR, nint(num));
}