From 5c1073d5893f29feda02228901cb235da1ccfeb8 Mon Sep 17 00:00:00 2001 From: Calvin Katt Date: Fri, 24 Apr 2026 16:47:55 +0200 Subject: [PATCH 1/2] fix(nodes/iec61850_goose): Add checks that signals wanted in publisher exist Signed-off-by: Calvin Katt --- lib/nodes/iec61850_goose.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/nodes/iec61850_goose.cpp b/lib/nodes/iec61850_goose.cpp index 508ced936..f7125ba79 100644 --- a/lib/nodes/iec61850_goose.cpp +++ b/lib/nodes/iec61850_goose.cpp @@ -979,9 +979,14 @@ void GooseNode::parsePublisherData(json_t *json, auto signal = std::optional{}; - if (signal_str) + if (signal_str){ signal = out.signals->getIndexByName(signal_str); - + if (!signal || *signal == -1) + throw RuntimeError("Name not found in output signal section"); + + } + if (!json_value && !signal_str) + throw RuntimeError("Need either signal name or signal value"); OutputData value = {.signal = signal, .default_value = GooseSignal{goose_type, signal_data, meta}}; From 7ba7be2c847ef1b4dcf1dcde33c5366256b68c11 Mon Sep 17 00:00:00 2001 From: Calvin Katt Date: Wed, 29 Apr 2026 11:13:19 +0200 Subject: [PATCH 2/2] fix(nodes/iec61850_goose): Add whitespaces in check that signals wanted in publisher exist Signed-off-by: Calvin Katt --- lib/nodes/iec61850_goose.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/nodes/iec61850_goose.cpp b/lib/nodes/iec61850_goose.cpp index f7125ba79..3b7b19b5b 100644 --- a/lib/nodes/iec61850_goose.cpp +++ b/lib/nodes/iec61850_goose.cpp @@ -979,14 +979,15 @@ void GooseNode::parsePublisherData(json_t *json, auto signal = std::optional{}; - if (signal_str){ + if (signal_str) { signal = out.signals->getIndexByName(signal_str); if (!signal || *signal == -1) throw RuntimeError("Name not found in output signal section"); - } + if (!json_value && !signal_str) throw RuntimeError("Need either signal name or signal value"); + OutputData value = {.signal = signal, .default_value = GooseSignal{goose_type, signal_data, meta}};