From bf1fb3f105e4c12829fefd539ac5c3b006758f97 Mon Sep 17 00:00:00 2001 From: h_vogt Date: Fri, 17 Jan 2014 20:24:44 +0100 Subject: [PATCH] inp.c: prevent crash upon if_inpdeck() returning NULL --- src/frontend/inp.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) 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; /*----------------------------------------------------