diff --git a/src/frontend/inp.c b/src/frontend/inp.c index eab724729..789d0a4b4 100644 --- a/src/frontend/inp.c +++ b/src/frontend/inp.c @@ -860,16 +860,18 @@ inp_dodeck( cktislinear(ckt, deck); /* set some output terminal data */ out_init(); + /* if_inpdeck() may return NULL upon error */ + if (ckt) { + if (cp_getvar("warn", CP_NUM, &warn)) + ckt->CKTsoaCheck = warn; + else + ckt->CKTsoaCheck = 0; - if (cp_getvar("warn", CP_NUM, &warn)) - ckt->CKTsoaCheck = warn; - else - ckt->CKTsoaCheck = 0; - - if (cp_getvar("maxwarns", CP_NUM, &maxwarns)) - ckt->CKTsoaMaxWarns = maxwarns; - else - ckt->CKTsoaMaxWarns = 5; + if (cp_getvar("maxwarns", CP_NUM, &maxwarns)) + ckt->CKTsoaMaxWarns = maxwarns; + else + ckt->CKTsoaMaxWarns = 5; + } ft_curckt->FTEstats->FTESTATdeckNumLines = 0; /*----------------------------------------------------