From 933bc5f8a72342a711ab1b6b41ec0333c4fc55dd Mon Sep 17 00:00:00 2001 From: Matt Johnston Date: Thu, 8 Mar 2018 23:22:53 +0800 Subject: [PATCH] Disable wrapfds outside of fuzzed code --- fuzz-harness.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fuzz-harness.c b/fuzz-harness.c index 53bc71f..be23d4e 100644 --- a/fuzz-harness.c +++ b/fuzz-harness.c @@ -18,6 +18,7 @@ int main(int argc, char ** argv) { #endif } + int old_fuzz_wrapfds = 0; for (i = 1; i < argc; i++) { if (argv[i][0] == '-') { /* ignore arguments */ @@ -29,11 +30,16 @@ int main(int argc, char ** argv) { 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");