diff fuzz-harness.c @ 1610:96e4c9b2cc00 coverity

merge coverity
author Matt Johnston <matt@ucc.asn.au>
date Wed, 21 Mar 2018 00:52:02 +0800
parents bff41a61a1b6
children dfbe947bdf0d
line wrap: on
line diff
--- a/fuzz-harness.c	Sun Mar 04 15:07:09 2018 +0800
+++ b/fuzz-harness.c	Wed Mar 21 00:52:02 2018 +0800
@@ -9,6 +9,7 @@
     buffer *input = buf_new(100000);
 
     for (i = 1; i < argc; i++) {
+        printf("arg %s\n", argv[i]);
 #if DEBUG_TRACE
         if (strcmp(argv[i], "-v") == 0) {
             debug_trace = 1;
@@ -17,6 +18,7 @@
 #endif
     }
 
+    int old_fuzz_wrapfds = 0;
     for (i = 1; i < argc; i++) {
         if (argv[i][0] == '-') {
             /* ignore arguments */
@@ -28,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");