Browse Source

Prevent a crash when number of nodes differs in subckt and X call.

pre-master-46
Holger Vogt 3 years ago
parent
commit
e834c89313
  1. 12
      src/frontend/inpc_probe.c

12
src/frontend/inpc_probe.c

@ -895,6 +895,9 @@ void inp_probe(struct card* deck)
else if (err == 2) {
fprintf(stderr, "Warning: Zero voltage sources already set,\n .probe %s will be ignored\n", wltmp->wl_word);
}
else if (err == 3) {
fprintf(stderr, "Warning: Number of nodes mismatch,\n .probe %s will be ignored\n", wltmp->wl_word);
}
continue;
}
else if (!haveall) {
@ -1358,6 +1361,15 @@ static int setallvsources(struct card *tmpcard, NGHASHPTR instances, char *instn
char nodenumstr[3];
char *nodename1 = get_terminal_name(instname, itoa10(nodenum, nodenumstr), instances);
if (!nodename1) {
tfree(begstr);
tfree(strnode1);
ds_free(&BVrefline);
ds_free(&Bpowerline);
ds_free(&Bpowersave);
return 3;
}
newline = tprintf("%s %s %s", begstr, newnode, instline);
char* vline = tprintf("vcurr_%s:probe_int_%s:%s_%s %s %s 0", instname, nodename1, nodenumstr, strnode1, strnode1, newnode);

Loading…
Cancel
Save