diff --git a/src/spicelib/parser/inpptree-parser.y b/src/spicelib/parser/inpptree-parser.y index 9e78f6192..481705353 100644 --- a/src/spicelib/parser/inpptree-parser.y +++ b/src/spicelib/parser/inpptree-parser.y @@ -106,7 +106,10 @@ exp: | '-' exp %prec NEG { $$ = mkfnode("-",$2); } - | TOK_STR '(' nonempty_arglist ')' { $$ = mkfnode($1, $3); txfree((void*)$1); } + | TOK_STR '(' nonempty_arglist ')' { $$ = mkfnode($1, $3); + if (!$$) + YYERROR; + txfree((void*)$1); } | TOK_pnode diff --git a/src/spicelib/parser/inpptree.c b/src/spicelib/parser/inpptree.c index b292621a3..0dac42703 100644 --- a/src/spicelib/parser/inpptree.c +++ b/src/spicelib/parser/inpptree.c @@ -197,7 +197,7 @@ static struct constant { void INPgetTree(char **line, INPparseTree ** pt, CKTcircuit *ckt, INPtables * tab) { - INPparseNode *p; + INPparseNode *p = NULL; int i, rv; values = NULL;