]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
fuzz/siginit: cleanup detect engine every 1024 runs
authorVictor Julien <victor@inliniac.net>
Thu, 9 Apr 2020 08:05:21 +0000 (10:05 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 10 Apr 2020 11:53:22 +0000 (13:53 +0200)
src/tests/fuzz/fuzz_siginit.c

index 155e63964b50315cbef1dd80334206d73a11cabb..8deba009b2f0be4eb1d34e3fd88fe5578fbc455e 100644 (file)
@@ -13,6 +13,7 @@
 
 int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
 
+static uint32_t cnt = 0;
 DetectEngineCtx *de_ctx = NULL;
 
 int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
@@ -28,6 +29,13 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
         SigTableSetup();
         SCReferenceConfInit();
         SCClassConfInit();
+    }
+    if (cnt++ == 1024) {
+        DetectEngineCtxFree(de_ctx);
+        de_ctx = NULL;
+        cnt = 0;
+    }
+    if (de_ctx == NULL) {
         de_ctx = DetectEngineCtxInit();
         BUG_ON(de_ctx == NULL);
         de_ctx->flags |= DE_QUIET;