detect: avoid potential use-after-free in error path

pull/3440/head
Victor Julien 7 years ago
parent 9cd0bbcab1
commit bfa884c956

@ -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;
}

Loading…
Cancel
Save