From 5ee7a0ad2dd7614be2badf5fc0c5b148d27eff5f Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sun, 5 Mar 2023 11:20:02 +0100 Subject: [PATCH] prevent crash when defect .model line is given (no model name or no model type) --- src/frontend/inpcom.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/frontend/inpcom.c b/src/frontend/inpcom.c index 16fea8644..b4a13bc5a 100644 --- a/src/frontend/inpcom.c +++ b/src/frontend/inpcom.c @@ -8651,7 +8651,15 @@ static struct card *pspice_compat(struct card *oldcard) char *cut_del = curr_line = cut_line = inp_remove_ws(copy(cut_line)); cut_line = nexttok(cut_line); /* skip .model */ modname = gettok(&cut_line); /* save model name */ + if (!modname) { + fprintf(stderr, "Warning: No model name given for %s\n", curr_line); + controlled_exit(EXIT_BAD); + } modtype = gettok_noparens(&cut_line); /* save model type */ + if (!modtype) { + fprintf(stderr, "Warning: No model type given for %s\n", curr_line); + controlled_exit(EXIT_BAD); + } if (cieq(modtype, "NMOS") || cieq(modtype, "PMOS")) { char* lv = strstr(cut_line, "level="); if (lv) {