From ee7250e11fd37c5ddbb09a2e05f5fba1b47295d5 Mon Sep 17 00:00:00 2001 From: Giles Atkinson <“gatk555@gmail.com”> Date: Sat, 5 Aug 2023 13:49:11 +0100 Subject: [PATCH] Fix a crash when trying to auto-bridge a real-valued event node and improve an error message. --- src/xspice/evt/evtcheck_nodes.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/xspice/evt/evtcheck_nodes.c b/src/xspice/evt/evtcheck_nodes.c index 3bbdaebfb..9cf51b9af 100644 --- a/src/xspice/evt/evtcheck_nodes.c +++ b/src/xspice/evt/evtcheck_nodes.c @@ -512,7 +512,8 @@ static struct bridge *find_bridge(Evt_Node_Info_t *event_node, } if (!ok) { - vcc = nupa_get_param(vcc_parm, &ok); + if (vcc_parm) + vcc = nupa_get_param(vcc_parm, &ok); if (!ok) { if (event_node->udn_index == 0) vcc = 3.3; // Fallback default for digital. @@ -710,9 +711,13 @@ bool Evtcheck_nodes( if (strcmp(event_node->name, analog_node->name) == 0) { if (show == AB_OFF) { if (cp_getvar("probe_alli_given", CP_BOOL, NULL, 0)) - fprintf(stderr, "\nDot command '.probe alli' and digital nodes are not compatible.\n"); + fprintf(stderr, + "\nDot command '.probe alli' and " + "digital nodes are not compatible.\n"); FREE(errMsg); - errMsg = copy("Auto bridging is switched off"); + errMsg = tprintf("Auto bridging is switched off " + "but node %s is mixed-type.\n", + event_node->name); return FALSE; // Auto-bridge disabled } bridge = find_bridge(event_node, ckt, &bridge_list);