comparison fuzz-harness.c @ 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 35af85194268
children dfbe947bdf0d
comparison
equal deleted inserted replaced
1604:99ca393afc56 1605:bff41a61a1b6
16 TRACE(("debug printing on")) 16 TRACE(("debug printing on"))
17 } 17 }
18 #endif 18 #endif
19 } 19 }
20 20
21 int old_fuzz_wrapfds = 0;
21 for (i = 1; i < argc; i++) { 22 for (i = 1; i < argc; i++) {
22 if (argv[i][0] == '-') { 23 if (argv[i][0] == '-') {
23 /* ignore arguments */ 24 /* ignore arguments */
24 continue; 25 continue;
25 } 26 }
27 char* fn = argv[i]; 28 char* fn = argv[i];
28 buf_setlen(input, 0); 29 buf_setlen(input, 0);
29 buf_readfile(input, fn); 30 buf_readfile(input, fn);
30 buf_setpos(input, 0); 31 buf_setpos(input, 0);
31 32
33 fuzz.wrapfds = old_fuzz_wrapfds;
32 printf("Running %s once \n", fn); 34 printf("Running %s once \n", fn);
33 LLVMFuzzerTestOneInput(input->data, input->len); 35 LLVMFuzzerTestOneInput(input->data, input->len);
34 printf("Running %s twice \n", fn); 36 printf("Running %s twice \n", fn);
35 LLVMFuzzerTestOneInput(input->data, input->len); 37 LLVMFuzzerTestOneInput(input->data, input->len);
36 printf("Done %s\n", fn); 38 printf("Done %s\n", fn);
39
40 /* Disable wrapfd so it won't interfere with buf_readfile() above */
41 old_fuzz_wrapfds = fuzz.wrapfds;
42 fuzz.wrapfds = 0;
37 } 43 }
38 44
39 printf("Finished\n"); 45 printf("Finished\n");
40 46
41 return 0; 47 return 0;