From: Victor Julien Date: Fri, 10 Apr 2015 07:59:33 +0000 (+0200) Subject: detect: clean up thread free code X-Git-Tag: suricata-3.0RC1~197 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=722c56dbf33035576e205ca739078be2f2337171;p=thirdparty%2Fsuricata.git detect: clean up thread free code Introduce DetectEngineThreadCtxFree that doesn't need a 'ThreadVars' pointer. --- diff --git a/src/detect-engine.c b/src/detect-engine.c index 87ef62ea63..d7d13d0cfd 100644 --- a/src/detect-engine.c +++ b/src/detect-engine.c @@ -1452,22 +1452,15 @@ static DetectEngineThreadCtx *DetectEngineThreadCtxInitForReload( return det_ctx; } -TmEcode DetectEngineThreadCtxDeinit(ThreadVars *tv, void *data) +void DetectEngineThreadCtxFree(DetectEngineThreadCtx *det_ctx) { - DetectEngineThreadCtx *det_ctx = (DetectEngineThreadCtx *)data; - - if (det_ctx == NULL) { - SCLogWarning(SC_ERR_INVALID_ARGUMENTS, "argument \"data\" NULL"); - return TM_ECODE_OK; - } - if (det_ctx->mt_det_ctxs != NULL) { uint32_t x; for (x = 0; x < det_ctx->mt_det_ctxs_cnt; x++) { if (det_ctx->mt_det_ctxs[x] == NULL) continue; - DetectEngineThreadCtxDeinit(tv, det_ctx->mt_det_ctxs[x]); + DetectEngineThreadCtxFree(det_ctx->mt_det_ctxs[x]); det_ctx->mt_det_ctxs[x] = NULL; } SCFree(det_ctx->mt_det_ctxs); @@ -1554,6 +1547,18 @@ TmEcode DetectEngineThreadCtxDeinit(ThreadVars *tv, void *data) #endif } SCFree(det_ctx); +} + +TmEcode DetectEngineThreadCtxDeinit(ThreadVars *tv, void *data) +{ + DetectEngineThreadCtx *det_ctx = (DetectEngineThreadCtx *)data; + + if (det_ctx == NULL) { + SCLogWarning(SC_ERR_INVALID_ARGUMENTS, "argument \"data\" NULL"); + return TM_ECODE_OK; + } + + DetectEngineThreadCtxFree(det_ctx); return TM_ECODE_OK; }