Generate error if tentant to be added is already loaded.
goto error;
}
+ de_ctx = DetectEngineGetByTenantId(tenant_id);
+ if (de_ctx != NULL) {
+ SCLogError(SC_ERR_MT_DUPLICATE_TENANT, "tenant %u already registered",
+ tenant_id);
+ DetectEngineDeReference(&de_ctx);
+ goto error;
+ }
+
if (ConfYamlLoadFileWithPrefix(filename, prefix) != 0) {
SCLogError(SC_ERR_CONF_YAML_ERROR, "failed to load yaml %s", filename);
goto error;
return 0;
error:
+ if (de_ctx != NULL) {
+ DetectEngineCtxFree(de_ctx);
+ }
return -1;
}
CASE_CODE (SC_ERR_NETMAP_READ);
CASE_CODE (SC_ERR_IPPAIR_INIT);
CASE_CODE (SC_ERR_MT_NO_SELECTOR);
+ CASE_CODE (SC_ERR_MT_DUPLICATE_TENANT);
}
return "UNKNOWN_ERROR";
SC_ERR_THREAD_DEINIT, /**< thread's deinit function failed */
SC_ERR_IPPAIR_INIT,
SC_ERR_MT_NO_SELECTOR,
+ SC_ERR_MT_DUPLICATE_TENANT,
} SCError;
const char *SCErrorToString(SCError);