diff --git a/src/detect-engine.c b/src/detect-engine.c index 9fe7de6416..c5fa7e5e3f 100644 --- a/src/detect-engine.c +++ b/src/detect-engine.c @@ -2322,14 +2322,16 @@ TmEcode DetectEngineThreadCtxInit(ThreadVars *tv, void *initdata, void **data) det_ctx->counter_match_list = StatsRegisterAvgCounter("detect.match_list", tv); #endif - /* pass thread data back to caller */ - *data = (void *)det_ctx; - if (DetectEngineMultiTenantEnabled()) { - if (DetectEngineThreadCtxInitForMT(tv, det_ctx) != TM_ECODE_OK) + if (DetectEngineThreadCtxInitForMT(tv, det_ctx) != TM_ECODE_OK) { + DetectEngineThreadCtxDeinit(tv, det_ctx); return TM_ECODE_FAILED; + } } + /* pass thread data back to caller */ + *data = (void *)det_ctx; + return TM_ECODE_OK; }