changeset 1605:bff41a61a1b6

Disable wrapfds outside of fuzzed code
author Matt Johnston <matt@ucc.asn.au>
date Thu, 08 Mar 2018 23:22:53 +0800
parents 99ca393afc56
children 98d2b125eb89
files fuzz-harness.c
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/fuzz-harness.c	Thu Mar 08 22:37:54 2018 +0800
+++ b/fuzz-harness.c	Thu Mar 08 23:22:53 2018 +0800
@@ -18,6 +18,7 @@
 #endif
     }
 
+    int old_fuzz_wrapfds = 0;
     for (i = 1; i < argc; i++) {
         if (argv[i][0] == '-') {
             /* ignore arguments */
@@ -29,11 +30,16 @@
         buf_readfile(input, fn);
         buf_setpos(input, 0);
 
+        fuzz.wrapfds = old_fuzz_wrapfds;
         printf("Running %s once \n", fn);
         LLVMFuzzerTestOneInput(input->data, input->len);
         printf("Running %s twice \n", fn);
         LLVMFuzzerTestOneInput(input->data, input->len);
         printf("Done %s\n", fn);
+
+        /* Disable wrapfd so it won't interfere with buf_readfile() above */
+        old_fuzz_wrapfds = fuzz.wrapfds;
+        fuzz.wrapfds = 0;
     }
 
     printf("Finished\n");