]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect: clean up thread free code
authorVictor Julien <victor@inliniac.net>
Fri, 10 Apr 2015 07:59:33 +0000 (09:59 +0200)
committerVictor Julien <victor@inliniac.net>
Thu, 23 Jul 2015 17:36:15 +0000 (19:36 +0200)
Introduce DetectEngineThreadCtxFree that doesn't need a 'ThreadVars'
pointer.

src/detect-engine.c

index 87ef62ea63f49ceae9d4f1a2f72e57761f0e4499..d7d13d0cfd30e815b4e081c51b41abb64e7cecde 100644 (file)
@@ -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;
 }