Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [libFuzzer] enable detect_leaks=1, add proper docs | Kostya Serebryany | 2016-04-29 | 1 | -1/+1 |
| | | | | llvm-svn: 268088 | ||||
* | [libFuzzer] disable leak detection if we have tried it for 1000 times w/o ↵ | Kostya Serebryany | 2016-04-27 | 1 | -1/+2 |
| | | | | | | finding a leak [part 2] llvm-svn: 267771 | ||||
* | [libFuzzer] disable leak detection if we have tried it for 1000 times w/o ↵ | Kostya Serebryany | 2016-04-27 | 2 | -0/+18 |
| | | | | | | finding a leak llvm-svn: 267770 | ||||
* | [libFuzzer] added -detect_leaks flag (0 by default for now). When enabled, ↵ | Kostya Serebryany | 2016-04-20 | 2 | -4/+21 |
| | | | | | | it will help finding leaks while fuzzing llvm-svn: 266838 | ||||
* | [libFuzzer] try to print correct time in seconds when reporting a timeout. ↵ | Kostya Serebryany | 2016-04-18 | 1 | -1/+1 |
| | | | | | | Don't report timeouts while still loading the corpus. llvm-svn: 266693 | ||||
* | [libFuzzer] warn if the corpus is empty | Kostya Serebryany | 2016-04-18 | 1 | -0/+1 |
| | | | | llvm-svn: 266670 | ||||
* | [libFuzzer] add a better warning for command line flags with -- (two dashes) | Kostya Serebryany | 2016-04-15 | 1 | -0/+2 |
| | | | | llvm-svn: 266480 | ||||
* | [libfuzzer] adding license headers to cpp files | Mike Aizatsky | 2016-04-01 | 27 | -0/+81 |
| | | | | | | Differential Revision: http://reviews.llvm.org/D18705 llvm-svn: 265174 | ||||
* | [libFuzzer] don't report memory leaks if we are dying due to a timeout (just ↵ | Kostya Serebryany | 2016-03-24 | 4 | -4/+24 |
| | | | | | | use _Exit instead of exit in the timeout callback) llvm-svn: 264237 | ||||
* | [libFuzzer] add a flag close_fd_mask so that we can silence spammy targets ↵ | Kostya Serebryany | 2016-03-18 | 3 | -0/+48 |
| | | | | | | by closing stderr/stdout llvm-svn: 263831 | ||||
* | [libFuzzer] read corpus dirs recursively | Kostya Serebryany | 2016-03-18 | 1 | -0/+9 |
| | | | | llvm-svn: 263773 | ||||
* | [libFuzzer] improve -merge functionality | Kostya Serebryany | 2016-03-18 | 2 | -15/+16 |
| | | | | llvm-svn: 263769 | ||||
* | [libFuzzer] deprecate several flags | Kostya Serebryany | 2016-03-17 | 2 | -2/+2 |
| | | | | llvm-svn: 263739 | ||||
* | [libfuzzer] adding std:string to allowed adaptable argument. | Mike Aizatsky | 2016-03-04 | 1 | -0/+9 |
| | | | | llvm-svn: 262757 | ||||
* | [libfuzzer] arbitrary function adapter. | Mike Aizatsky | 2016-03-03 | 4 | -0/+124 |
| | | | | | | | | | The adapter automates converting sequence of bytes into arbitrary arguments. Differential Revision: http://reviews.llvm.org/D17829 llvm-svn: 262673 | ||||
* | [libFuzzer] add generic signal handlers so that libFuzzer can report at ↵ | Kostya Serebryany | 2016-03-01 | 2 | -1/+5 |
| | | | | | | least something if ASan is not handlig the signals for us. Remove abort_on_timeout flag. llvm-svn: 262415 | ||||
* | [libFuzzer] fixing the bot | Kostya Serebryany | 2016-02-27 | 1 | -1/+1 |
| | | | | llvm-svn: 262106 | ||||
* | [libFuzzer] speedup path coverage handling | Kostya Serebryany | 2016-02-27 | 1 | -0/+1 |
| | | | | llvm-svn: 262102 | ||||
* | [libFuzzer] add -print_final_stats=1 flag | Kostya Serebryany | 2016-02-26 | 1 | -0/+8 |
| | | | | llvm-svn: 262084 | ||||
* | [libFuzzer] initial implementation of path coverage based on ↵ | Kostya Serebryany | 2016-02-26 | 3 | -0/+27 |
| | | | | | | -fsanitize-coverage=trace-pc. This does not scale well yet, but already cracks FullCoverageSetTest in seconds llvm-svn: 262073 | ||||
* | [libFuzzer] fix the libFuzzer bot | Kostya Serebryany | 2016-02-18 | 1 | -1/+1 |
| | | | | llvm-svn: 261184 | ||||
* | [libFuzzer] don't require seed in fuzzer::Mutate, instead use the global ↵ | Kostya Serebryany | 2016-02-13 | 1 | -4/+12 |
| | | | | | | Fuzzer object for fuzzer::Mutate. This makes custom mutators fast llvm-svn: 260810 | ||||
* | [libFuzzer] get rid of UserSuppliedFuzzer; NFC | Kostya Serebryany | 2016-02-13 | 3 | -3/+4 |
| | | | | llvm-svn: 260798 | ||||
* | [libFuzzer] simplify the code around Random. NFC | Kostya Serebryany | 2016-02-13 | 1 | -11/+11 |
| | | | | llvm-svn: 260797 | ||||
* | [libFuzzer] remove UserSuppliedFuzzer from the interface (it was a bad idea). | Kostya Serebryany | 2016-02-13 | 3 | -54/+0 |
| | | | | llvm-svn: 260796 | ||||
* | [libFuzzer] provide a plain C interface for custom mutators (experimental) | Kostya Serebryany | 2016-02-13 | 3 | -0/+32 |
| | | | | llvm-svn: 260794 | ||||
* | [libFuzzer] make -runs=N flag also affect the simple runner (will execute ↵ | Kostya Serebryany | 2016-02-12 | 3 | -1/+23 |
| | | | | | | every input N times) llvm-svn: 260649 | ||||
* | [libFuzzer] hot fix a test | Kostya Serebryany | 2016-02-04 | 1 | -1/+1 |
| | | | | llvm-svn: 259732 | ||||
* | [libFuzzer] don't write the test unit when a leak is detected (since we ↵ | Kostya Serebryany | 2016-02-04 | 3 | -0/+15 |
| | | | | | | don't know which unit causes the leak) llvm-svn: 259731 | ||||
* | [libFuzzer] allow passing 1 or more files as individual inputs | Kostya Serebryany | 2016-02-02 | 1 | -0/+12 |
| | | | | llvm-svn: 259459 | ||||
* | [libFuzzer] fail if the corpus dir does not exist | Kostya Serebryany | 2016-02-02 | 1 | -0/+3 |
| | | | | llvm-svn: 259454 | ||||
* | [libFuzzer] add -timeout_exitcode option | Kostya Serebryany | 2016-01-29 | 1 | -0/+1 |
| | | | | llvm-svn: 259265 | ||||
* | [libFuzzer] re-enable test for -abort_on_timeout=1, this time protecting ↵ | Kostya Serebryany | 2016-01-29 | 1 | -1/+1 |
| | | | | | | from ASAN_OPTIONS set outside llvm-svn: 259263 | ||||
* | Temporary disable broken fuzzer/timeout tests. | Ivan Krasin | 2016-01-25 | 1 | -1/+1 |
| | | | | | | | | Reviewers: kcc Differential Revision: http://reviews.llvm.org/D16543 llvm-svn: 258702 | ||||
* | [libFuzzer] add -abort_on_timeout option | Kostya Serebryany | 2016-01-23 | 1 | -0/+1 |
| | | | | llvm-svn: 258631 | ||||
* | Use std::piecewise_constant_distribution instead of ad-hoc binary search. | Ivan Krasin | 2016-01-22 | 1 | -1/+21 |
| | | | | | | | | | | | | | | | Summary: Fix the issue with the most recently discovered unit receiving much less attention. Note: this is the second attempt (prev: r258473). Now, libc++ build is fixed. Reviewers: aizatsky, kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16487 llvm-svn: 258571 | ||||
* | Revert r258473 as it's breaking the build with libc++ | Ivan Krasin | 2016-01-22 | 1 | -21/+1 |
| | | | | | | | | Reviewers: kcc Differential Revision: http://reviews.llvm.org/D16441 llvm-svn: 258479 | ||||
* | Use std::piecewise_constant_distribution instead of ad-hoc binary search. | Ivan Krasin | 2016-01-22 | 1 | -1/+21 |
| | | | | | | | | | | | | | | | | | | Summary: Fix the issue with the most recently discovered unit receiving much less attention. Note: I had to change the seed for one test to make it pass. Alternatively, the number of runs could be increased. I believe that the average time of 'foo' discovery is not increased, just seed=1 was particularly convenient for the previous PRNG scheme used. Reviewers: aizatsky, kcc Subscribers: llvm-commits, kcc Differential Revision: http://reviews.llvm.org/D16419 llvm-svn: 258473 | ||||
* | [libFuzzer] use std::mt19937 for generating random numbers by default. Fix ↵ | Kostya Serebryany | 2016-01-19 | 1 | -0/+3 |
| | | | | | | MyStoll to handle negative values. Use std::any_of instead of std::find_if llvm-svn: 258178 | ||||
* | [libFuzzer] replace vector with a simpler data structure in the Dictionaries ↵ | Kostya Serebryany | 2016-01-16 | 1 | -6/+6 |
| | | | | | | to avoid memory allocations on hot path llvm-svn: 257985 | ||||
* | [libFuzzer] introduce LLVMFuzzerInitialize | Kostya Serebryany | 2016-01-16 | 3 | -0/+26 |
| | | | | llvm-svn: 257980 | ||||
* | [libFuzzer] do mutations based on memcmp/strcmp interceptors under a ↵ | Kostya Serebryany | 2016-01-15 | 1 | -7/+7 |
| | | | | | | separate flag (-use_memcmp, default=1) llvm-svn: 257873 | ||||
* | [libFuzzer] suggest a dictionary to the user of some of the trace-based ↵ | Kostya Serebryany | 2016-01-14 | 6 | -3/+30 |
| | | | | | | dictionary entries were successful llvm-svn: 257736 | ||||
* | [libFuzzer] make sure we find buffer overflow in the input buffer. ↵ | Kostya Serebryany | 2016-01-13 | 3 | -0/+24 |
| | | | | | | Previously, re-using the same vector object was hiding buffer overflows (unless we used annotated vector) llvm-svn: 257701 | ||||
* | [libFuzzer] change the way trace-based mutations are applied. Instead of a ↵ | Kostya Serebryany | 2016-01-09 | 1 | -3/+4 |
| | | | | | | custom code just rely on the automatically created dictionary llvm-svn: 257248 | ||||
* | [libFuzzer] don't limit memcmp tracing with 8 bytes | Kostya Serebryany | 2016-01-09 | 2 | -5/+14 |
| | | | | llvm-svn: 257245 | ||||
* | [libFuzzer] add a position hint to the dictionary-based mutator | Kostya Serebryany | 2016-01-07 | 3 | -8/+39 |
| | | | | llvm-svn: 257013 | ||||
* | [libfuzzer] print_new_cov_pcs experimental option. | Mike Aizatsky | 2016-01-06 | 1 | -0/+6 |
| | | | | | | Differential Revision: http://reviews.llvm.org/D15901 llvm-svn: 256882 | ||||
* | [libFuzzer] make trace-based fuzzing not crash in presence of threads | Kostya Serebryany | 2016-01-06 | 3 | -0/+31 |
| | | | | llvm-svn: 256876 | ||||
* | [libFuzzer] split the tests to run them in parallel, remove one redundant test | Kostya Serebryany | 2015-12-19 | 6 | -66/+41 |
| | | | | llvm-svn: 256085 |