Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [libFuzzer] only read MaxLen bytes from every file in the corpus to speedup ↵ | Kostya Serebryany | 2016-02-18 | 1 | -3/+3 |
| | | | | | | loading the corpus llvm-svn: 261267 | ||||
* | [libFuzzer] don't timeout when loading the corpus. Be a bit more verbose ↵ | Kostya Serebryany | 2016-02-17 | 1 | -0/+2 |
| | | | | | | when loading large corpus. llvm-svn: 261143 | ||||
* | [libFuzzer] remove std::vector operations from hot paths, NFC | Kostya Serebryany | 2016-02-13 | 1 | -23/+24 |
| | | | | llvm-svn: 260829 | ||||
* | [libFuzzer] don't require seed in fuzzer::Mutate, instead use the global ↵ | Kostya Serebryany | 2016-02-13 | 1 | -0/+5 |
| | | | | | | Fuzzer object for fuzzer::Mutate. This makes custom mutators fast llvm-svn: 260810 | ||||
* | [libFuzzer] get rid of UserSuppliedFuzzer; NFC | Kostya Serebryany | 2016-02-13 | 1 | -13/+14 |
| | | | | llvm-svn: 260798 | ||||
* | [libFuzzer] provide a plain C interface for custom mutators (experimental) | Kostya Serebryany | 2016-02-13 | 1 | -1/+10 |
| | | | | llvm-svn: 260794 | ||||
* | [libFuzzer] don't write the test unit when a leak is detected (since we ↵ | Kostya Serebryany | 2016-02-04 | 1 | -0/+1 |
| | | | | | | don't know which unit causes the leak) llvm-svn: 259731 | ||||
* | [libFuzzer] add -timeout_exitcode option | Kostya Serebryany | 2016-01-29 | 1 | -1/+1 |
| | | | | llvm-svn: 259265 | ||||
* | [libFuzzer] add -abort_on_timeout option | Kostya Serebryany | 2016-01-23 | 1 | -0/+2 |
| | | | | llvm-svn: 258631 | ||||
* | Use std::piecewise_constant_distribution instead of ad-hoc binary search. | Ivan Krasin | 2016-01-22 | 1 | -35/+45 |
| | | | | | | | | | | | | | | | 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 | -18/+15 |
| | | | | | | | | 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 | -15/+18 |
| | | | | | | | | | | | | | | | | | | 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 %p for printing addresses | Mike Aizatsky | 2016-01-21 | 1 | -1/+1 |
| | | | | llvm-svn: 258370 | ||||
* | [libFuzzer] move some code from public interface header to a non-public ↵ | Kostya Serebryany | 2016-01-16 | 1 | -1/+1 |
| | | | | | | header. NFC llvm-svn: 257963 | ||||
* | [libFuzzer] suggest a dictionary to the user of some of the trace-based ↵ | Kostya Serebryany | 2016-01-14 | 1 | -2/+4 |
| | | | | | | dictionary entries were successful llvm-svn: 257736 | ||||
* | [libFuzzer] make CurrentUnit a POD object instead of vector to avoid extra ↵ | Kostya Serebryany | 2016-01-13 | 1 | -22/+18 |
| | | | | | | allocations llvm-svn: 257713 | ||||
* | [libFuzzer] make sure we find buffer overflow in the input buffer. ↵ | Kostya Serebryany | 2016-01-13 | 1 | -5/+8 |
| | | | | | | Previously, re-using the same vector object was hiding buffer overflows (unless we used annotated vector) llvm-svn: 257701 | ||||
* | [libFuzzer] make sure to update CurrentUnit when drilling | Kostya Serebryany | 2016-01-13 | 1 | -1/+4 |
| | | | | llvm-svn: 257560 | ||||
* | [libFuzzer] change the way trace-based mutations are applied. Instead of a ↵ | Kostya Serebryany | 2016-01-09 | 1 | -15/+3 |
| | | | | | | custom code just rely on the automatically created dictionary llvm-svn: 257248 | ||||
* | [libfuzzer] print_new_cov_pcs experimental option. | Mike Aizatsky | 2016-01-06 | 1 | -1/+17 |
| | | | | | | Differential Revision: http://reviews.llvm.org/D15901 llvm-svn: 256882 | ||||
* | [libFuzzer] make CrossOver just one of the other mutations | Kostya Serebryany | 2015-12-19 | 1 | -29/+18 |
| | | | | llvm-svn: 256081 | ||||
* | [libFuzzer] print successfull mutations sequences | Kostya Serebryany | 2015-12-19 | 1 | -6/+3 |
| | | | | llvm-svn: 256071 | ||||
* | [libFuzzer] don't reload the corpus more than once every second | Kostya Serebryany | 2015-12-05 | 1 | -1/+6 |
| | | | | llvm-svn: 254824 | ||||
* | [libFuzzer] compute base64 in-process instead of using an external lib. ↵ | Kostya Serebryany | 2015-12-04 | 1 | -4/+2 |
| | | | | | | Since libFuzzer should not depend on anything, just re-implement base64 encoder. PR25746 llvm-svn: 254784 | ||||
* | Libfuzzer: do not pass null into user function | Mike Aizatsky | 2015-12-02 | 1 | -1/+5 |
| | | | | | | Differential Revision: http://reviews.llvm.org/D15098 llvm-svn: 254558 | ||||
* | [libFuzzer] add a flag -exact_artifact_path | Kostya Serebryany | 2015-11-25 | 1 | -0/+2 |
| | | | | llvm-svn: 254100 | ||||
* | [libFuzzer] make libFuzzer build even with a compiler that does not have ↵ | Kostya Serebryany | 2015-11-13 | 1 | -2/+7 |
| | | | | | | sanitizer headers llvm-svn: 253003 | ||||
* | output_csv libfuzzer option | Mike Aizatsky | 2015-11-12 | 1 | -8/+22 |
| | | | | | | | | | | | Summary: The option outputs statistics in CSV format preceded by 1 header line. This is intended for machine processing of the output. -verbosity=0 should likely be set. Differential Revision: http://reviews.llvm.org/D14600 llvm-svn: 252856 | ||||
* | [libFuzzer] experimental flag -drill (another search heuristic; Mike ↵ | Kostya Serebryany | 2015-11-12 | 1 | -9/+61 |
| | | | | | | Aizatsky's idea) llvm-svn: 252838 | ||||
* | [libFuzzer] make libFuzzer link if there is no sanitizer coverage ↵ | Kostya Serebryany | 2015-11-09 | 1 | -0/+23 |
| | | | | | | instrumentation (it will fail at start-up time) llvm-svn: 252533 | ||||
* | [libFuzzer] print a bit fewer lines | Kostya Serebryany | 2015-11-05 | 1 | -1/+3 |
| | | | | llvm-svn: 252123 | ||||
* | [libFuzzer] when choosing the next unit to mutate, give some preference to ↵ | Kostya Serebryany | 2015-11-04 | 1 | -26/+45 |
| | | | | | | the most recent units (they are more likely to be interesting) llvm-svn: 252097 | ||||
* | [libFuzzer] add -merge flag to merge corpora | Kostya Serebryany | 2015-10-24 | 1 | -0/+32 |
| | | | | llvm-svn: 251168 | ||||
* | [libFuzzer] remove some old code; also make ↵ | Kostya Serebryany | 2015-10-23 | 1 | -0/+3 |
| | | | | | | __sanitizer_get_total_unique_caller_callee_pairs weak so that newer libFuzzer works with older asan llvm-svn: 251133 | ||||
* | [libFuzzer] use the indirect caller-callee counter as an independent search ↵ | Kostya Serebryany | 2015-10-22 | 1 | -1/+14 |
| | | | | | | heuristic llvm-svn: 251078 | ||||
* | [libFuzzer] more refactoring the code that checks the coverage. NFC | Kostya Serebryany | 2015-10-22 | 1 | -7/+8 |
| | | | | llvm-svn: 251075 | ||||
* | [libFuzzer] refactoring the code that checks the coverage. NFC | Kostya Serebryany | 2015-10-22 | 1 | -29/+35 |
| | | | | llvm-svn: 251074 | ||||
* | [libFuzzer] remove the deprecated 'tokens' feature | Kostya Serebryany | 2015-10-22 | 1 | -32/+7 |
| | | | | llvm-svn: 251069 | ||||
* | [libFuzzer] add -shuffle flag | Kostya Serebryany | 2015-10-17 | 1 | -5/+7 |
| | | | | llvm-svn: 250603 | ||||
* | [libFuzzer] print a stack trace on timeout | Kostya Serebryany | 2015-10-16 | 1 | -0/+9 |
| | | | | llvm-svn: 250571 | ||||
* | [libFuzzer] reduce the size of artifacts printed on the screen | Kostya Serebryany | 2015-10-16 | 1 | -1/+1 |
| | | | | llvm-svn: 250565 | ||||
* | [libFuzzer] When -test_single_input crashes the test it is not necessary to ↵ | Kostya Serebryany | 2015-10-16 | 1 | -0/+2 |
| | | | | | | write crash-file because input is already known to the user. Patch by Mike Aizatsky llvm-svn: 250564 | ||||
* | [libFuzzer] don't print large artifacts to stderr | Kostya Serebryany | 2015-10-09 | 1 | -6/+7 |
| | | | | llvm-svn: 249808 | ||||
* | [libFuzzer] add -artifact_prefix flag | Kostya Serebryany | 2015-10-09 | 1 | -2/+3 |
| | | | | llvm-svn: 249807 | ||||
* | [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return ↵ | Kostya Serebryany | 2015-10-02 | 1 | -2/+4 |
| | | | | | | int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. llvm-svn: 249214 | ||||
* | [libFuzzer] remove experimental flag and functionality | Kostya Serebryany | 2015-10-02 | 1 | -29/+1 |
| | | | | llvm-svn: 249194 | ||||
* | [libFuzzer] add a flag -max_total_time | Kostya Serebryany | 2015-10-02 | 1 | -0/+4 |
| | | | | llvm-svn: 249181 | ||||
* | [libFuzzer] perform fewer crossover operations compared to plain mutations | Kostya Serebryany | 2015-09-11 | 1 | -7/+8 |
| | | | | llvm-svn: 247364 | ||||
* | [libFuzzer] remove -iterations as redundant (there is also -num_runs) | Kostya Serebryany | 2015-09-08 | 1 | -2/+2 |
| | | | | llvm-svn: 247030 | ||||
* | [libFuzzer] actually make the dictionaries work (+docs) | Kostya Serebryany | 2015-09-04 | 1 | -0/+3 |
| | | | | llvm-svn: 246825 |