summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2015-04-27 00:52:53 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2015-04-27 00:52:53 +0900
commitb3b6fe3c073199dd201b95b76e0a99fcda80cdd9 (patch)
treeb0f5eac3a2b3593a4d615647d9cda31082a3be65 /src
parent6246483f12366818e38a5cd6070f71fefe0b8b94 (diff)
downloadmruby-b3b6fe3c073199dd201b95b76e0a99fcda80cdd9.tar.gz
mruby-b3b6fe3c073199dd201b95b76e0a99fcda80cdd9.zip
parser_state->locals may be NULL on some error conditions; fix #2769
Diffstat (limited to 'src')
-rw-r--r--src/parse.y3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/parse.y b/src/parse.y
index ff5df7822..336b20a6c 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -274,7 +274,8 @@ local_add(parser_state *p, mrb_sym sym)
static node*
new_scope(parser_state *p, node *body)
{
- return cons((node*)NODE_SCOPE, cons(p->locals->car, body));
+ node *n = p->locals ? p->locals->car : NULL;
+ return cons((node*)NODE_SCOPE, cons(n, body));
}
/* (:begin prog...) */