| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | [libFuzzer] add more fields to DictionaryEntry to count the number of uses ↵ | Kostya Serebryany | 2016-01-22 | 2 | -29/+52 |
| | | | | | | | and successes llvm-svn: 258589 | ||||
| * | Use std::piecewise_constant_distribution instead of ad-hoc binary search. | Ivan Krasin | 2016-01-22 | 3 | -63/+106 |
| | | | | | | | | | | | | | | | | 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 | 4 | -57/+17 |
| | | | | | | | | | 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 | 4 | -17/+57 |
| | | | | | | | | | | | | | | | | | | | 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] don't do expensive memmem if the result will not be used | Kostya Serebryany | 2016-01-22 | 1 | -0/+2 |
| | | | | | llvm-svn: 258462 | ||||
| * | [libFuzzer] don't use std::vector in one more hot path | Kostya Serebryany | 2016-01-21 | 1 | -6/+29 |
| | | | | | llvm-svn: 258380 | ||||
| * | [libfuzzer] use %p for printing addresses | Mike Aizatsky | 2016-01-21 | 1 | -1/+1 |
| | | | | | llvm-svn: 258370 | ||||
| * | [libFuzzer] use std::mt19937 for generating random numbers by default. Fix ↵ | Kostya Serebryany | 2016-01-19 | 5 | -8/+43 |
| | | | | | | | 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 | 6 | -53/+84 |
| | | | | | | | to avoid memory allocations on hot path llvm-svn: 257985 | ||||
| * | [libFuzzer] introduce LLVMFuzzerInitialize | Kostya Serebryany | 2016-01-16 | 6 | -2/+43 |
| | | | | | llvm-svn: 257980 | ||||
| * | [libFuzzer] move some code from public interface header to a non-public ↵ | Kostya Serebryany | 2016-01-16 | 4 | -79/+90 |
| | | | | | | | header. NFC llvm-svn: 257963 | ||||
| * | [libFuzzer] do mutations based on memcmp/strcmp interceptors under a ↵ | Kostya Serebryany | 2016-01-15 | 5 | -25/+36 |
| | | | | | | | separate flag (-use_memcmp, default=1) llvm-svn: 257873 | ||||
| * | [libFuzzer] use custom stol; also introduce __libfuzzer_is_present so that ↵ | Kostya Serebryany | 2016-01-15 | 1 | -1/+17 |
| | | | | | | | users can check for its presence. llvm-svn: 257848 | ||||
| * | [libFuzzer] suggest a dictionary to the user of some of the trace-based ↵ | Kostya Serebryany | 2016-01-14 | 9 | -23/+103 |
| | | | | | | | dictionary entries were successful llvm-svn: 257736 | ||||
| * | [libFuzzer] make CurrentUnit a POD object instead of vector to avoid extra ↵ | Kostya Serebryany | 2016-01-13 | 4 | -45/+51 |
| | | | | | | | allocations llvm-svn: 257713 | ||||
| * | [libFuzzer] make sure we find buffer overflow in the input buffer. ↵ | Kostya Serebryany | 2016-01-13 | 6 | -17/+48 |
| | | | | | | | 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] add a macro LLVM_FUZZER_DEFINES_SANITIZER_WEAK_HOOOKS | Kostya Serebryany | 2016-01-12 | 1 | -0/+8 |
| | | | | | llvm-svn: 257482 | ||||
| * | [libFuzzer] when a new unit is discovered using a dictionary, print all used ↵ | Kostya Serebryany | 2016-01-12 | 4 | -30/+35 |
| | | | | | | | dictionary entries llvm-svn: 257435 | ||||
| * | [libFuzzer] add various debug prints. Also don't mutate based on a cmp trace ↵ | Kostya Serebryany | 2016-01-12 | 1 | -5/+28 |
| | | | | | | | like (a eq a) or (a neq a) llvm-svn: 257434 | ||||
| * | [libFuzzer] extend the weak memcmp/strcmp/strncmp interceptors to receive ↵ | Kostya Serebryany | 2016-01-12 | 1 | -3/+6 |
| | | | | | | | the result of the computations. With that, don't do any mutations if memcmp/etc returned 0 llvm-svn: 257423 | ||||
| * | [libFuzzer] debug prints in tracing | Kostya Serebryany | 2016-01-09 | 1 | -2/+27 |
| | | | | | llvm-svn: 257249 | ||||
| * | [libFuzzer] change the way trace-based mutations are applied. Instead of a ↵ | Kostya Serebryany | 2016-01-09 | 8 | -60/+33 |
| | | | | | | | 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 | 3 | -43/+90 |
| | | | | | llvm-svn: 257245 | ||||
| * | [libFuzzer] refactor the way we collect cmp traces (don't use std::vector, ↵ | Kostya Serebryany | 2016-01-09 | 1 | -22/+35 |
| | | | | | | | don't limit with 8 bytes) llvm-svn: 257239 | ||||
| * | [libFuzzer] add a position hint to the dictionary-based mutator | Kostya Serebryany | 2016-01-07 | 6 | -33/+100 |
| | | | | | llvm-svn: 257013 | ||||
| * | [libFuzzer] extend the dictionary mutator to optionally overwrite data with ↵ | Kostya Serebryany | 2016-01-06 | 1 | -5/+12 |
| | | | | | | | the dict entry llvm-svn: 256900 | ||||
| * | [libfuzzer] print_new_cov_pcs experimental option. | Mike Aizatsky | 2016-01-06 | 5 | -1/+28 |
| | | | | | | | 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 | 4 | -6/+46 |
| | | | | | llvm-svn: 256876 | ||||
| * | [libFuzzer] add AFL-style dictionary for C++, remove the old file with tokens | Kostya Serebryany | 2015-12-22 | 2 | -218/+122 |
| | | | | | llvm-svn: 256229 | ||||
| * | [libFuzzer] deprecate -save_minimized_corpus, -merge can be used instead | Kostya Serebryany | 2015-12-19 | 2 | -7/+7 |
| | | | | | llvm-svn: 256086 | ||||
| * | [libFuzzer] split the tests to run them in parallel, remove one redundant test | Kostya Serebryany | 2015-12-19 | 6 | -66/+41 |
| | | | | | llvm-svn: 256085 | ||||
| * | [libFuzzer] make CrossOver just one of the other mutations | Kostya Serebryany | 2015-12-19 | 6 | -38/+58 |
| | | | | | llvm-svn: 256081 | ||||
| * | [libFuzzer] print successfull mutations sequences | Kostya Serebryany | 2015-12-19 | 3 | -19/+39 |
| | | | | | llvm-svn: 256071 | ||||
| * | Fuzzer: Fix library dependencies. | Peter Collingbourne | 2015-12-16 | 1 | -0/+6 |
| | | | | | | | | | Newer versions of libstdc++ (4.9+), as well as libc++, depend directly on libpthread from the standard library headers, so libfuzzer needs to declare a standard library dependency. llvm-svn: 255745 | ||||
| * | [LibFuzzer] Introducing FUZZER_FLAG_UNSIGNED and using it for seeding. | Mike Aizatsky | 2015-12-10 | 5 | -9/+25 |
| | | | | | | | | | Differential Revision: http://reviews.llvm.org/D15339 done llvm-svn: 255296 | ||||
| * | [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 | 5 | -10/+45 |
| | | | | | | | 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 | 2 | -1/+7 |
| | | | | | | | Differential Revision: http://reviews.llvm.org/D15098 llvm-svn: 254558 | ||||
| * | [libFuzzer] add a test that is built with -fsanitize-coverage=trace-bb | Kostya Serebryany | 2015-12-02 | 2 | -0/+22 |
| | | | | | llvm-svn: 254484 | ||||
| * | [libFuzzer] add a flag -exact_artifact_path | Kostya Serebryany | 2015-11-25 | 5 | -0/+12 |
| | | | | | llvm-svn: 254100 | ||||
| * | [libFuzzer] don't crash when reporting a leak in test_single_input mode | Kostya Serebryany | 2015-11-21 | 1 | -2/+4 |
| | | | | | llvm-svn: 253761 | ||||
| * | [libFuzzer] remove default initializer as a workaround for ↵ | Kostya Serebryany | 2015-11-18 | 1 | -1/+1 |
| | | | | | | | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68399. Don't need it anyway. llvm-svn: 253419 | ||||
| * | [libFuzzer] make libFuzzer build even with a compiler that does not have ↵ | Kostya Serebryany | 2015-11-13 | 3 | -10/+26 |
| | | | | | | | sanitizer headers llvm-svn: 253003 | ||||
| * | output_csv libfuzzer option | Mike Aizatsky | 2015-11-12 | 4 | -8/+25 |
| | | | | | | | | | | | | 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 | 6 | -20/+89 |
| | | | | | | | Aizatsky's idea) llvm-svn: 252838 | ||||
| * | [libFuzzer] add UninstrumentedTest.cpp (missing from a previous commit) | Kostya Serebryany | 2015-11-10 | 1 | -0/+8 |
| | | | | | llvm-svn: 252658 | ||||
| * | [libFuzzer] make libFuzzer link if there is no sanitizer coverage ↵ | Kostya Serebryany | 2015-11-09 | 4 | -0/+50 |
| | | | | | | | instrumentation (it will fail at start-up time) llvm-svn: 252533 | ||||
| * | [libFuzzer] print a bit fewer lines | Kostya Serebryany | 2015-11-05 | 2 | -2/+3 |
| | | | | | llvm-svn: 252123 | ||||
| * | [libFuzzer] when choosing the next unit to mutate, give some preference to ↵ | Kostya Serebryany | 2015-11-04 | 2 | -26/+46 |
| | | | | | | | the most recent units (they are more likely to be interesting) llvm-svn: 252097 | ||||

