From e751bf79c35838bd0f95077ed45ef910e7c81830 Mon Sep 17 00:00:00 2001 From: Andrea Terzolo Date: Mon, 23 May 2022 11:43:17 +0200 Subject: [PATCH] fix(userspace/engine): improve rule loader source checks for macros and lists Signed-off-by: Andrea Terzolo --- userspace/engine/rule_loader.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/userspace/engine/rule_loader.cpp b/userspace/engine/rule_loader.cpp index 70d95ca6..b794bbbd 100644 --- a/userspace/engine/rule_loader.cpp +++ b/userspace/engine/rule_loader.cpp @@ -484,6 +484,11 @@ void rule_loader::define(configuration& cfg, macro_info& info) + info.source + ", skipping"); return; } + + auto prev = m_macro_infos.at(info.name); + THROW(prev && prev->source != info.source, + "Macro " + info.name + " has been re-defined with a different source"); + define_info(m_macro_infos, info, m_cur_index++); } @@ -507,7 +512,7 @@ void rule_loader::define(configuration& cfg, rule_info& info) return; } - auto prev = m_macro_infos.at(info.name); + auto prev = m_rule_infos.at(info.name); THROW(prev && prev->source != info.source, "Rule " + info.name + " has been re-defined with a different source");