awk: fix segfault on for loop syntax error

Parsing "for()" segfaults as awk fails to find loop iteration expressions.

Signed-off-by: Brian Foley <bpfoley@google.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Brian Foley
2016-10-15 14:45:40 +01:00
committed by Denys Vlasenko
parent 1336052a49
commit 61d5997b58
2 changed files with 4 additions and 1 deletions

View File

@@ -1514,7 +1514,7 @@ static void chain_group(void)
next_token(TC_SEQSTART);
n2 = parse_expr(TC_SEMICOL | TC_SEQTERM);
if (t_tclass & TC_SEQTERM) { /* for-in */
if ((n2->info & OPCLSMASK) != OC_IN)
if (!n2 || (n2->info & OPCLSMASK) != OC_IN)
syntax_error(EMSG_UNEXP_TOKEN);
n = chain_node(OC_WALKINIT | VV);
n->l.n = n2->l.n;