chore(userspace/engine): introduce proper check to avoid future issues throwing an exception.

Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
This commit is contained in:
Federico Di Pierro 2024-02-08 14:45:33 +01:00 committed by poiana
parent 7e7c3941d9
commit ec68b50253

View File

@ -195,7 +195,13 @@ std::unique_ptr<load_result> falco_engine::load_rules(const std::string &rules_c
auto source = find_source(rule.source);
std::shared_ptr<gen_event_filter> filter(
sinsp_filter_compiler(source->filter_factory, rule.condition.get()).compile());
m_rules.insert(rule, rule.name);
auto rule_id = m_rules.insert(rule, rule.name);
if (rule_id != rule.id)
{
throw falco_exception("Incompatible ID for rule: " + rule.name +
" | compiled ID: " + std::to_string(rule.id) +
" | stats_mgr ID: " + std::to_string(rule_id));
}
source->ruleset->add(rule, filter, rule.condition);
// By default rules are enabled/disabled for the default ruleset