]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tests: run fuzzers four times in a row (#10794)
authorEvgeny Vereshchagin <evvers@ya.ru>
Fri, 16 Nov 2018 14:09:24 +0000 (17:09 +0300)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 16 Nov 2018 14:09:24 +0000 (23:09 +0900)
This should help to catch issues that are easily detectable by
bad_build_check like the one being fixed in https://github.com/systemd/systemd/pull/10793,
which would totally break the build tomorrow if I hadn't run
`helper.py check_build` manually.

src/fuzz/fuzz-main.c

index caf7a27ef135af547345697ea67235e54cc6156f..cc9252377a25551cd02e92853bcfcc36cfdeb345 100644 (file)
  * It reads files named on the command line and passes them one by one into the
  * fuzzer that it is compiled into. */
 
+/* This one was borrowed from
+ * https://github.com/google/oss-fuzz/blob/646fca1b506b056db3a60d32c4a1a7398f171c94/infra/base-images/base-runner/bad_build_check#L19
+ */
+#define MIN_NUMBER_OF_RUNS 4
+
 int main(int argc, char **argv) {
         int i, r;
         size_t size;
@@ -30,7 +35,8 @@ int main(int argc, char **argv) {
                 }
                 printf("%s... ", name);
                 fflush(stdout);
-                (void) LLVMFuzzerTestOneInput((uint8_t*)buf, size);
+                for (int j = 0; j < MIN_NUMBER_OF_RUNS; j++)
+                        (void) LLVMFuzzerTestOneInput((uint8_t*)buf, size);
                 printf("ok\n");
         }