From 62d3e3a51d80792bdf50e1186dc835fc7707d040 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sat, 28 Jun 2025 16:07:42 +0200 Subject: [PATCH] Prevent from endless loop if step evaluates to 0. --- src/spicelib/parser/inp2dot.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/spicelib/parser/inp2dot.c b/src/spicelib/parser/inp2dot.c index 5285297b5..7c871cc66 100644 --- a/src/spicelib/parser/inp2dot.c +++ b/src/spicelib/parser/inp2dot.c @@ -313,6 +313,8 @@ dot_dc(char *line, CKTcircuit *ckt, INPtables *tab, struct card *current, if (*line == '\0') return 1; parm = INPgetValue(ckt, &line, IF_REAL, tab); /* vinc1 */ + if (parm->rValue == 0) + return 1; GCA(INPapName, (ckt, which, foo, "step1", parm)); if (*line) { INPgetTok(&line, &name, 1); @@ -330,6 +332,8 @@ dot_dc(char *line, CKTcircuit *ckt, INPtables *tab, struct card *current, return 1; GCA(INPapName, (ckt, which, foo, "stop2", parm)); parm = INPgetValue(ckt, &line, IF_REAL, tab); /* vinc2 */ + if (parm->rValue == 0) + return 1; GCA(INPapName, (ckt, which, foo, "step2", parm)); } return 0;