inp.c: prevent crash upon if_inpdeck() returning NULL

This commit is contained in:
h_vogt 2014-01-17 20:24:44 +01:00
parent d2b62de4c8
commit bf1fb3f105
1 changed files with 11 additions and 9 deletions

View File

@ -860,16 +860,18 @@ inp_dodeck(
cktislinear(ckt, deck); cktislinear(ckt, deck);
/* set some output terminal data */ /* set some output terminal data */
out_init(); 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)) if (cp_getvar("maxwarns", CP_NUM, &maxwarns))
ckt->CKTsoaCheck = warn; ckt->CKTsoaMaxWarns = maxwarns;
else else
ckt->CKTsoaCheck = 0; ckt->CKTsoaMaxWarns = 5;
}
if (cp_getvar("maxwarns", CP_NUM, &maxwarns))
ckt->CKTsoaMaxWarns = maxwarns;
else
ckt->CKTsoaMaxWarns = 5;
ft_curckt->FTEstats->FTESTATdeckNumLines = 0; ft_curckt->FTEstats->FTESTATdeckNumLines = 0;
/*---------------------------------------------------- /*----------------------------------------------------