]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
fuzz: use parsed rules in sigpcap target
authorPhilippe Antoine <contact@catenacyber.fr>
Thu, 9 Dec 2021 14:06:24 +0000 (15:06 +0100)
committerVictor Julien <vjulien@oisf.net>
Tue, 18 Jan 2022 11:21:55 +0000 (12:21 +0100)
Ticket: 4125

As commit d21a252238fd766d3c2ec4c2d165d429dad0d85a
But for sigpcap target as well

src/tests/fuzz/fuzz_sigpcap.c

index d177c7c09d7fd0793d8ea9deacb8bbbea11aa58d..37066b6834b7e37adf99d917353e78653b454449 100644 (file)
@@ -122,6 +122,15 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
     if (DetectEngineReload(&surifuzz) < 0) {
         return 0;
     }
+    DetectEngineThreadCtx *old_det_ctx = FlowWorkerGetDetectCtxPtr(fwd);
+
+    DetectEngineCtx *de_ctx = DetectEngineGetCurrent();
+    de_ctx->ref_cnt--;
+    DetectEngineThreadCtx *new_det_ctx = DetectEngineThreadCtxInitForReload(&tv, de_ctx, 1);
+    FlowWorkerReplaceDetectCtx(fwd, new_det_ctx);
+
+    DetectEngineThreadCtxDeinit(NULL, old_det_ctx);
+
     if (pos < size) {
         //skip zero
         pos++;