summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer
Commit message (Collapse)AuthorAgeFilesLines
* [libFuzzer] perform fewer crossover operations compared to plain mutationsKostya Serebryany2015-09-111-7/+8
| | | | llvm-svn: 247364
* [libFuzzer] refactor the code to allow building libFuzzer on platforms that ↵Kostya Serebryany2015-09-102-17/+65
| | | | | | don't have dfsan and don't support weak functions llvm-svn: 247321
* [libFuzzer] add two more variants of FuzzerDriver for convenienceKostya Serebryany2015-09-102-20/+39
| | | | llvm-svn: 247300
* [libFuzzer]Add a test for defeating a hash sum.Ivan Krasin2015-09-083-0/+40
| | | | | | | | | | | | | | | | | Summary: Add a test for a data followed by 4-byte hash value. I use a slightly modified Jenkins hash function, as described in https://en.wikipedia.org/wiki/Jenkins_hash_function The modification is to ensure that hash(zeros) != 0. Reviewers: kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12648 llvm-svn: 247076
* [libFuzzer] remove a piece of stale codeKostya Serebryany2015-09-081-41/+1
| | | | llvm-svn: 247067
* [libFuzzer] be more robust when dealing with files on disk (e.g. don't crash ↵Kostya Serebryany2015-09-081-4/+2
| | | | | | if a file was there but disappeared) llvm-svn: 247066
* [libFuzzer] better documentatio for -save_minimized_corpus=1Kostya Serebryany2015-09-081-1/+2
| | | | llvm-svn: 247033
* [libFuzzer] remove -iterations as redundant (there is also -num_runs)Kostya Serebryany2015-09-084-7/+4
| | | | llvm-svn: 247030
* [libFuzzer] add one more mutator: Mutate_ChangeASCIIIntegerKostya Serebryany2015-09-083-0/+67
| | | | llvm-svn: 247027
* [libFuzzer] more accurate logic for traces, 80-char fixKostya Serebryany2015-09-041-6/+5
| | | | llvm-svn: 246888
* [libFuzzer] when a single mutation fails try a few more times with other ↵Kostya Serebryany2015-09-041-7/+14
| | | | | | mutations before returning un-mutated data llvm-svn: 246828
* [libFuzzer] actually make the dictionaries work (+docs)Kostya Serebryany2015-09-049-24/+170
| | | | llvm-svn: 246825
* [libFuzzer] refactor the mutation functions so that they are now methods of ↵Kostya Serebryany2015-09-035-69/+80
| | | | | | a class. NFC llvm-svn: 246808
* [libFuzzer] adding a parser for AFL-style dictionaries + tests.Kostya Serebryany2015-09-035-0/+141
| | | | llvm-svn: 246800
* [libFuzzer] deprecate the -tokens flag. This was a bad idea because the ↵Kostya Serebryany2015-09-023-4/+5
| | | | | | corpus with this flag contains encrypted inputs, not the real inputs, which complicates interoperation with other fuzzers. Instead we'll need to implement AFL dictionary support llvm-svn: 246734
* [libFuzzer] honour -only_ascii=1 when reading the initial corpus. Also, ↵Kostya Serebryany2015-09-023-5/+10
| | | | | | remove ugly #ifdef llvm-svn: 246689
* [libFuzzer] fix minor inefficiency, PR24584Kostya Serebryany2015-08-261-1/+1
| | | | llvm-svn: 246087
* Fix missing space in libfuzzer's help text.Lenny Maiorani2015-08-121-1/+1
| | | | llvm-svn: 244800
* [libFuzzer] add two flags, -tbm_depth and -tbm_width to control how the ↵Kostya Serebryany2015-08-127-12/+31
| | | | | | trace-based-mutations are applied llvm-svn: 244712
* [libFuzzer] add colons to the stats output to avoid confusionKostya Serebryany2015-08-121-2/+3
| | | | llvm-svn: 244708
* [libFuzzer] use raw C IO to reduce the risk of a deadlock in a signal handler.Kostya Serebryany2015-08-121-2/+5
| | | | llvm-svn: 244707
* Fix unused variable 'X' in release builds.Nick Lewycky2015-08-111-0/+2
| | | | llvm-svn: 244571
* [libFuzzer] add -only_ascii flagKostya Serebryany2015-08-115-2/+28
| | | | llvm-svn: 244559
* Add missing include guard to FuzzerInternal.h, NFC.Yaron Keren2015-08-101-0/+6
| | | | llvm-svn: 244457
* [libFuzzer] move the mutators to public interface so that custom mutators ↵Kostya Serebryany2015-08-064-38/+33
| | | | | | may reuse these functions directly llvm-svn: 244250
* [libFuzzer] add one more mutation strategy: byte shufflingKostya Serebryany2015-08-064-2/+41
| | | | llvm-svn: 244188
* [libFuzzer] avoid build warnings in non-assert build (useful warning in this ↵Kostya Serebryany2015-08-051-1/+4
| | | | | | case) llvm-svn: 244177
* [libFuzzer] in dfsan mode, set labels every time we start recording traces ↵Kostya Serebryany2015-08-051-1/+3
| | | | | | as opposed to doing it at process startup. This ensures that the labels are fresh. llvm-svn: 244165
* [libFuzzer] add option -report_slow_units=Nsec to control when slow units ↵Kostya Serebryany2015-08-054-3/+8
| | | | | | are printed llvm-svn: 244152
* [libFuzzer] add a missing test fileKostya Serebryany2015-08-051-0/+28
| | | | llvm-svn: 244151
* [libFuzzer] use data-flow feedback from strcmpKostya Serebryany2015-08-054-2/+44
| | | | llvm-svn: 244084
* [libFuzzer] more refactoring of the Mutator and adding tests to itKostya Serebryany2015-08-013-26/+133
| | | | llvm-svn: 243818
* [libFuzzer] start refactoring the Mutator and adding tests to itKostya Serebryany2015-08-015-14/+58
| | | | llvm-svn: 243817
* [libFuzzer] limit the size of the inputs printed to stderrKostya Serebryany2015-07-311-4/+10
| | | | llvm-svn: 243795
* [libFuzzer] make sure that 2-byte arguments of switch() are handled properlyKostya Serebryany2015-07-313-13/+52
| | | | llvm-svn: 243781
* [libFuzzer] record traces from the switch statements only when told to do soKostya Serebryany2015-07-311-0/+1
| | | | llvm-svn: 243768
* [libFuzzer] support switch interception in dfsan modeKostya Serebryany2015-07-314-4/+41
| | | | llvm-svn: 243760
* [libFuzzer] trace switch statements and apply mutations based on the ↵Kostya Serebryany2015-07-314-0/+56
| | | | | | expected case values llvm-svn: 243726
* [libFuzzer] fix the strncmp interceptor -- it should respect short strings. Kostya Serebryany2015-07-303-3/+31
| | | | llvm-svn: 243691
* [libFuzzer] implement strncmp hook for data-flow-guided fuzzing (w/ and w/o ↵Kostya Serebryany2015-07-306-4/+45
| | | | | | dfsan), add a test llvm-svn: 243611
* [libFuzzer] implement memcmp hook for data-flow-guided fuzzing (w/o dfsan), ↵Kostya Serebryany2015-07-305-3/+24
| | | | | | extend the memcmp fuzzer test llvm-svn: 243603
* [libFuzzer] ensure that the dfsan tracing hooks actually run (using ↵Kostya Serebryany2015-07-282-1/+5
| | | | | | -verbosity=3 in tests) llvm-svn: 243365
* [libFuzzer] when using cmp traces, first check that the CMP is evaluated to ↵Kostya Serebryany2015-07-281-4/+44
| | | | | | one value much more frequently than to the other value (heuristic) llvm-svn: 243363
* [libFuzzer] allow users to supply their own implementation of randKostya Serebryany2015-07-2410-32/+85
| | | | llvm-svn: 243078
* [libFuzzer] dump long running units to disk Kostya Serebryany2015-07-233-8/+9
| | | | llvm-svn: 243031
* [Fuzzer] Rely on $PATH expansion instead of hardcoding paths in tests. NFC.Alexey Samsonov2015-07-213-14/+15
| | | | llvm-svn: 242851
* [Fuzzer] Clearly separate regular and DFSan tests. NFC.Alexey Samsonov2015-07-215-7/+10
| | | | llvm-svn: 242850
* [libFuzzer] require the files and directories passed to the fuzzer to existKostya Serebryany2015-07-181-2/+8
| | | | llvm-svn: 242596
* [lib/Fuzzer] make assertions more informative and update comments for the ↵Kostya Serebryany2015-05-302-4/+8
| | | | | | user-supplied mutator llvm-svn: 238658
* [lib/Fuzzer] relax an assertionKostya Serebryany2015-05-291-2/+2
| | | | llvm-svn: 238608
OpenPOWER on IntegriCloud