]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect/pcre: don't use JIT if disabled 8296/head
authorVictor Julien <vjulien@oisf.net>
Fri, 16 Dec 2022 14:51:05 +0000 (15:51 +0100)
committerVictor Julien <vjulien@oisf.net>
Fri, 16 Dec 2022 15:00:29 +0000 (16:00 +0100)
If we determined not to use JIT at start up, really don't use
JIT.

Bug: #5762.

src/detect-pcre.c

index e54e75a7b8e985a04d9b4a8649be2d541e4723cb..0c7b1aa70a1205084fd33b1f4d0704f25948b278 100644 (file)
@@ -874,11 +874,14 @@ static int DetectPcreSetup (DetectEngineCtx *de_ctx, Signature *s, const char *r
         goto error;
 
 #ifdef PCRE_HAVE_JIT_EXEC
-    /* Deliberately silent on failures. Not having a context id means
-     * JIT will be bypassed */
-    pd->thread_ctx_jit_stack_id = DetectRegisterThreadCtxFuncs(de_ctx, "pcre",
-            DetectPcreThreadInit, (void *)pd,
-            DetectPcreThreadFree, 1);
+    if (pcre_use_jit) {
+        /* Deliberately silent on failures. Not having a context id means
+         * JIT will be bypassed */
+        pd->thread_ctx_jit_stack_id = DetectRegisterThreadCtxFuncs(
+                de_ctx, "pcre", DetectPcreThreadInit, (void *)pd, DetectPcreThreadFree, 1);
+    } else {
+        pd->thread_ctx_jit_stack_id = -1;
+    }
 #endif
 
     int sm_list = -1;