From b39554b11fe1b6f3d880c3d548287934880a3c2c Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Thu, 17 Jun 2021 15:02:30 +0200 Subject: [PATCH] fuzz: target for applayer cleans transactions Ticket: 4530 Otherwise, we timeout because we kept too many of them as Suricata would not --- src/tests/fuzz/fuzz_applayerparserparse.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/tests/fuzz/fuzz_applayerparserparse.c b/src/tests/fuzz/fuzz_applayerparserparse.c index bc8efea806..945cb32c35 100644 --- a/src/tests/fuzz/fuzz_applayerparserparse.c +++ b/src/tests/fuzz/fuzz_applayerparserparse.c @@ -117,6 +117,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) f->alproto = data[0]; } + FLOWLOCK_WRLOCK(f); /* * We want to fuzz multiple calls to AppLayerParserParse * because some parts of the code are only reached after @@ -163,6 +164,8 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) alsize = 0; break; } + + AppLayerParserTransactionsCleanup(f); } alsize -= alnext - albuffer + 4; albuffer = alnext + 4; @@ -191,6 +194,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) free(isolatedBuffer); } + FLOWLOCK_UNLOCK(f); FlowFree(f); return 0; -- 2.47.2