diff --git a/userspace/falco/app/actions/init_inspectors.cpp b/userspace/falco/app/actions/init_inspectors.cpp index 6fb4e403..d1f763aa 100644 --- a/userspace/falco/app/actions/init_inspectors.cpp +++ b/userspace/falco/app/actions/init_inspectors.cpp @@ -159,9 +159,14 @@ falco::app::run_result falco::app::actions::init_inspectors(falco::app::state& s // (in capture mode, this is true for every plugin) if (plugin) { - if (!plugin->init(config->m_init_config, err)) + // avoid initializing the same plugin twice in the same + // inspector if we're in capture mode + if (!s.is_capture_mode() || used_plugins.find(p->name()) == used_plugins.end()) { - return run_result::fatal(err); + if (!plugin->init(config->m_init_config, err)) + { + return run_result::fatal(err); + } } if (is_input) {