]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
fuzz: stop app layer target as Suricata
authorPhilippe Antoine <contact@catenacyber.fr>
Wed, 15 Apr 2020 12:30:48 +0000 (14:30 +0200)
committerPhilippe Antoine <contact@catenacyber.fr>
Wed, 15 Apr 2020 12:32:25 +0000 (14:32 +0200)
Before being overwhelmed by successive errors

src/tests/fuzz/fuzz_applayerparserparse.c

index ebf33a0602e313e49ec73582e020a7561e12c65b..6d05b48f90d68b1ae0de99ba0eb494a3d507b40a 100644 (file)
@@ -125,6 +125,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
             (void) AppLayerParserParse(NULL, alp_tctx, f, f->alproto, flags, isolatedBuffer, alnext - albuffer);
             free(isolatedBuffer);
             flags &= ~(STREAM_START);
+            if (AppLayerParserStateIssetFlag(f->alparser, APP_LAYER_PARSER_EOF)) {
+                break;
+            }
         }
         alsize -= alnext - albuffer + 4;
         albuffer = alnext + 4;