Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [libFuzzer] better algorithm for -minimize_crash | Kostya Serebryany | 2016-10-15 | 3 | -5/+25 | |
| | | | | llvm-svn: 284299 | |||||
* | [libFuzzer] remove subdir fuzzer-test-suite as it is now superseded with ↵ | Kostya Serebryany | 2016-10-14 | 19 | -410/+0 | |
| | | | | | | https://github.com/google/fuzzer-test-suite llvm-svn: 284275 | |||||
* | [libFuzzer] add -trace_cmp=1 (guiding mutations based on the observed CMP ↵ | Kostya Serebryany | 2016-10-14 | 12 | -12/+157 | |
| | | | | | | instructions). This is a reincarnation of the previously deleted -use_traces, but using a different approach for collecting traces. Still a toy, but at least it scales well. Also fix -merge in trace-pc-guard mode llvm-svn: 284273 | |||||
* | [libFuzzer] more detailed message for disabled leak detection | Kostya Serebryany | 2016-10-13 | 1 | -2/+4 | |
| | | | | llvm-svn: 284169 | |||||
* | [libFuzzer] add -trace_malloc= flag | Kostya Serebryany | 2016-10-13 | 7 | -5/+70 | |
| | | | | llvm-svn: 284149 | |||||
* | [libFuzzer] reapply r283946: refactoring to speed things up, NFC. Now with a ↵ | Kostya Serebryany | 2016-10-13 | 2 | -36/+23 | |
| | | | | | | fix for gcc build llvm-svn: 284132 | |||||
* | Revert "[libFuzzer] refactoring to speed things up, NFC" | Daniel Jasper | 2016-10-12 | 2 | -20/+35 | |
| | | | | | | | | | | | This reverts commit r283946. This breaks when build with GCC: lib/Fuzzer/FuzzerTracePC.cpp:169:6: error: always_inline function might not be inlinable [-Werror=attributes] lib/Fuzzer/FuzzerTracePC.cpp:169:6: error: inlining failed in call to always_inline 'void fuzzer::TracePC::HandleCmp(void*, T, T) [with T = long unsigned int]': target specific option mismatch lib/Fuzzer/FuzzerTracePC.cpp:198:65: error: called from here llvm-svn: 283979 | |||||
* | [libFuzzer] refactoring to speed things up, NFC | Kostya Serebryany | 2016-10-11 | 2 | -35/+20 | |
| | | | | llvm-svn: 283946 | |||||
* | [libFuzzer] implement value profile for switch, increase the size of the PCs ↵ | Kostya Serebryany | 2016-10-11 | 3 | -4/+11 | |
| | | | | | | array, make sure we don't overflow it llvm-svn: 283841 | |||||
* | [libFuzzer] add switch tests | Kostya Serebryany | 2016-10-11 | 2 | -0/+38 | |
| | | | | llvm-svn: 283840 | |||||
* | [libFuzzer] make a test less flaky | Kostya Serebryany | 2016-10-09 | 1 | -1/+0 | |
| | | | | llvm-svn: 283686 | |||||
* | [libFuzzer] when shrinking the corpus, delete evicted files previously ↵ | Kostya Serebryany | 2016-10-08 | 8 | -25/+46 | |
| | | | | | | created by the current process llvm-svn: 283682 | |||||
* | [libFuzzer] control the reload interval by a flag, make it 10 seconds by default | Kostya Serebryany | 2016-10-08 | 4 | -9/+13 | |
| | | | | llvm-svn: 283676 | |||||
* | [libFuzzer] fix use-after-free in libFuzzer found by ... fuzzing. | Kostya Serebryany | 2016-10-08 | 1 | -24/+23 | |
| | | | | llvm-svn: 283675 | |||||
* | [libFuzzer] be more careful with memory usage, print peak rss in status lines | Kostya Serebryany | 2016-10-06 | 3 | -2/+4 | |
| | | | | llvm-svn: 283418 | |||||
* | [libFuzzer] when re-running for lsan, don't look at the coverage | Kostya Serebryany | 2016-10-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 283411 | |||||
* | [libFuzzer] refactoring to make -shrink=1 work for value profile, added a test. | Kostya Serebryany | 2016-10-05 | 12 | -150/+145 | |
| | | | | llvm-svn: 283409 | |||||
* | [libFuzzer] add ShrinkValueProfileTest, move code around, NFC | Kostya Serebryany | 2016-10-05 | 8 | -111/+141 | |
| | | | | llvm-svn: 283286 | |||||
* | [libFuzzer] clear the corpus elements if they are evicted (i.e. smaller ↵ | Kostya Serebryany | 2016-10-05 | 3 | -6/+38 | |
| | | | | | | elements with proper coverage are found). Make sure we never try to mutate empty element. Print the corpus size in bytes in the status lines llvm-svn: 283279 | |||||
* | [libFuzzer] remove dfsan support and some related stale code. This is not ↵ | Kostya Serebryany | 2016-10-04 | 9 | -449/+1 | |
| | | | | | | being used and as is is pretty weak anyway llvm-svn: 283187 | |||||
* | [libFuzzer] change the probabilities so that we choose only the inputs that ↵ | Kostya Serebryany | 2016-10-04 | 2 | -4/+13 | |
| | | | | | | are known to be minimal inputs for at least one coverage feature (works only with -shrink=1 for now) llvm-svn: 283178 | |||||
* | [libFuzzer] add fuzzer test for libxml2, finds ↵ | Kostya Serebryany | 2016-10-01 | 3 | -0/+38 | |
| | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=751631 llvm-svn: 283024 | |||||
* | [libFuzzer] fix a recent bugs (buffer overflow) | Kostya Serebryany | 2016-10-01 | 1 | -1/+1 | |
| | | | | llvm-svn: 283021 | |||||
* | [libFuzzer] implement the -shrink=1 option that tires to make elements of ↵ | Kostya Serebryany | 2016-10-01 | 8 | -13/+51 | |
| | | | | | | the corpus smaller, off by default llvm-svn: 282995 | |||||
* | [libFuzzer] remove some experimental code | Kostya Serebryany | 2016-09-30 | 2 | -21/+12 | |
| | | | | llvm-svn: 282983 | |||||
* | [libFuzzer] fix openssl fuzzer tests when running on a machine w/o openssl ↵ | Kostya Serebryany | 2016-09-30 | 2 | -2/+2 | |
| | | | | | | installed llvm-svn: 282972 | |||||
* | [libFuzzer] remove unused option | Kostya Serebryany | 2016-09-30 | 7 | -20/+8 | |
| | | | | llvm-svn: 282971 | |||||
* | [libFuzzer] move common parts of shell scripts into a separate file | Kostya Serebryany | 2016-09-30 | 9 | -68/+58 | |
| | | | | llvm-svn: 282954 | |||||
* | [libFuzzer] add a fuzzer test that finds CVE-2015-3193 | Kostya Serebryany | 2016-09-30 | 3 | -0/+184 | |
| | | | | llvm-svn: 282892 | |||||
* | [libfuzzer] test for c-ares CVE-2016-5180 | Kostya Serebryany | 2016-09-30 | 3 | -0/+50 | |
| | | | | llvm-svn: 282839 | |||||
* | [libFuzzer] remove the code for -print_pcs=1 with the old coverage. It still ↵ | Kostya Serebryany | 2016-09-30 | 4 | -47/+2 | |
| | | | | | | works with the new one (trace-pc-guard) llvm-svn: 282831 | |||||
* | [libFuzzer] more the feature set to InputCorpus; on feature update, change ↵ | Kostya Serebryany | 2016-09-30 | 4 | -39/+80 | |
| | | | | | | the feature counter of the old best input llvm-svn: 282829 | |||||
* | [sanitizer-coverage/libFuzzer] make the guards for trace-pc 32-bit; create ↵ | Kostya Serebryany | 2016-09-29 | 3 | -12/+13 | |
| | | | | | | one array of guards per function, instead of one guard per BB. reorganize the code so that trace-pc-guard does not create unneeded globals llvm-svn: 282735 | |||||
* | [libFuzzer] initialize ValueBitMap::NumBits | Kostya Serebryany | 2016-09-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 282721 | |||||
* | [libFuzzer] speedup TracePC::FinalizeTrace | Kostya Serebryany | 2016-09-28 | 2 | -15/+22 | |
| | | | | llvm-svn: 282562 | |||||
* | [libFuzzer] run re2 test in 8 threads by default | Kostya Serebryany | 2016-09-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 282469 | |||||
* | [sanitizer-coverage] fix a bug in trace-gep | Kostya Serebryany | 2016-09-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 282467 | |||||
* | [libFuzzer] add a test based on openssl-1.0.1f (finds heartbleed) | Kostya Serebryany | 2016-09-27 | 5 | -0/+89 | |
| | | | | llvm-svn: 282460 | |||||
* | [libFuzzer] add -exit_on_src_pos to test libFuzzer itself, add a test script ↵ | Kostya Serebryany | 2016-09-27 | 12 | -13/+55 | |
| | | | | | | for RE2 that uses this flag llvm-svn: 282458 | |||||
* | [libFuzzer] add a standalone build script | Kostya Serebryany | 2016-09-24 | 1 | -0/+10 | |
| | | | | llvm-svn: 282321 | |||||
* | [libFuzzer] simplify HandleTrace again, start re-running interesting units ↵ | Kostya Serebryany | 2016-09-23 | 6 | -9/+75 | |
| | | | | | | and collecting their features. llvm-svn: 282316 | |||||
* | [libFuzzer] first steps in adding a proper automated test suite based on ↵ | Kostya Serebryany | 2016-09-23 | 2 | -0/+48 | |
| | | | | | | real-life code: add a script to build RE2 at a revision that has known bugs llvm-svn: 282292 | |||||
* | [libFuzzer] reset Counters (trace-pc-guard) before every run | Kostya Serebryany | 2016-09-23 | 1 | -1/+1 | |
| | | | | llvm-svn: 282284 | |||||
* | [libFuzzer] be more precise about what we reset in TracePC | Kostya Serebryany | 2016-09-23 | 2 | -6/+8 | |
| | | | | llvm-svn: 282225 | |||||
* | [libFuzzer] fix merging with trace-pc-guard | Kostya Serebryany | 2016-09-23 | 8 | -27/+25 | |
| | | | | llvm-svn: 282224 | |||||
* | [libFuzzer] simplify the TracePC logic | Kostya Serebryany | 2016-09-23 | 3 | -29/+20 | |
| | | | | llvm-svn: 282222 | |||||
* | [libFuzzer] move value profiling logic into TracePC | Kostya Serebryany | 2016-09-23 | 6 | -32/+21 | |
| | | | | llvm-svn: 282219 | |||||
* | [libFuzzer] change ValueBitMap to remember the number of bits in it | Kostya Serebryany | 2016-09-23 | 7 | -30/+29 | |
| | | | | llvm-svn: 282216 | |||||
* | [libFuzzer] simplify the crash minimizer; split MaxLen into two: MaxInputLen ↵ | Kostya Serebryany | 2016-09-22 | 3 | -29/+36 | |
| | | | | | | and MaxMutationLen, allow MaxMutationLen to be less than MaxInputLen llvm-svn: 282211 | |||||
* | [libFuzzer] add 'features' to the corpus elements, allow mutations with Size ↵ | Kostya Serebryany | 2016-09-22 | 8 | -44/+66 | |
| | | | | | | > MaxSize, fix sha1 in corpus stats; various refactorings llvm-svn: 282129 |