| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 244559
|
|
|
|
| |
llvm-svn: 244457
|
|
|
|
|
|
| |
may reuse these functions directly
llvm-svn: 244250
|
|
|
|
| |
llvm-svn: 244188
|
|
|
|
|
|
| |
are printed
llvm-svn: 244152
|
|
|
|
| |
llvm-svn: 243818
|
|
|
|
| |
llvm-svn: 243817
|
|
|
|
| |
llvm-svn: 243078
|
|
|
|
| |
llvm-svn: 243031
|
|
|
|
|
|
| |
library used in libFuzzer badly interract with the same code used in the target function and also with dfsan. It's easier to just not use std::cerr than to defeat these issues.
llvm-svn: 238078
|
|
|
|
|
|
| |
unlikely to ever scale
llvm-svn: 238063
|
|
|
|
| |
llvm-svn: 238059
|
|
|
|
|
|
| |
every unit of work separately
llvm-svn: 237735
|
|
|
|
| |
llvm-svn: 237649
|
|
|
|
|
|
| |
CORPUS' to synchronize with other processes
llvm-svn: 237617
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This adds a SHA1 implementation taken from public domain code.
The change is trivial, but as it involves third-party code I'd like
a second pair of eyes before commit.
LibFuzzer can not use SHA1 from openssl because openssl may not be available
and because we may be fuzzing openssl itself.
Using sha1sum via a pipe is too slow.
Test Plan: n/a
Reviewers: chandlerc
Reviewed By: chandlerc
Subscribers: majnemer, llvm-commits
Differential Revision: http://reviews.llvm.org/D9733
llvm-svn: 237400
|
|
|
|
|
|
| |
-workers=M is not. Update the docs.
llvm-svn: 237163
|
|
|
|
| |
llvm-svn: 237083
|
|
|
|
|
|
| |
comments. NFC expected
llvm-svn: 237050
|
|
|
|
|
|
| |
DFSan-based mutator, but instead of relying on taint tracking, try to find the data directly in the input. More (logic and comments) to go.
llvm-svn: 237043
|
|
|
|
|
|
| |
LLVM_USE_SANITIZE_COVERAGE; in lib/Fuzzer try to reload the corpus to pick up new units from other processes
llvm-svn: 236906
|
|
|
|
|
|
| |
run a single unit and collect suggested mutations based on tracing+taint data, then apply the suggested mutations one by one. The previous scheme was slower and more complex.
llvm-svn: 236772
|
|
|
|
| |
llvm-svn: 236757
|
|
|
|
| |
llvm-svn: 236548
|
|
|
|
|
|
| |
flags.
llvm-svn: 233745
|
|
|
|
|
|
| |
one so far, print it.
llvm-svn: 233637
|
|
|
|
| |
llvm-svn: 233624
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This adds a simple DFSan-based (i.e. taint-guided) fuzzer mutator,
see the comments for details.
Test Plan: a test added
Reviewers: samsonov, pcc
Reviewed By: samsonov, pcc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D8669
llvm-svn: 233613
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fuzzing).
Introduce -mllvm -sanitizer-coverage-8bit-counters=1
which adds imprecise thread-unfriendly 8-bit coverage counters.
The run-time library maps these 8-bit counters to 8-bit bitsets in the same way
AFL (http://lcamtuf.coredump.cx/afl/technical_details.txt) does:
counter values are divided into 8 ranges and based on the counter
value one of the bits in the bitset is set.
The AFL ranges are used here: 1, 2, 3, 4-7, 8-15, 16-31, 32-127, 128+.
These counters provide a search heuristic for single-threaded
coverage-guided fuzzers, we do not expect them to be useful for other purposes.
Depending on the value of -fsanitize-coverage=[123] flag,
these counters will be added to the function entry blocks (=1),
every basic block (=2), or every edge (=3).
Use these counters as an optional search heuristic in the Fuzzer library.
Add a test where this heuristic is critical.
llvm-svn: 231166
|
|
|
|
| |
llvm-svn: 229957
|
|
|
|
|
|
| |
parameter and a tiny main() in a separate file
llvm-svn: 229882
|
|
|
|
| |
llvm-svn: 228235
|
|
|
|
|
|
| |
sure we do some mutations w/o cross over.
llvm-svn: 228214
|
|
|
|
|
|
| |
respect mutation depth and to never produce empty units
llvm-svn: 228170
|
|
|
|
|
|
| |
does not scale very well yet, but might be a good start.
llvm-svn: 227507
|
|
|
|
|
|
| |
fuzzer library based on LLVM_USE_SANITIZE_COVERAGE being set or unset.
llvm-svn: 227464
|
|
|
|
|
|
| |
for MSVC users. This reverts: 227445, 227395, 227389, 227357, 227254, 227252
llvm-svn: 227452
|
|
|
|
| |
llvm-svn: 227395
|
|
Summary:
A simple genetic in-process coverage-guided fuzz testing library.
I've used this fuzzer to test clang-format
(it found 12+ bugs, thanks djasper@ for the fixes!)
and it may also help us test other parts of LLVM.
So why not keep it in the LLVM repository?
I plan to add the cmake build rules later (in a separate patch, if that's ok)
and also add a clang-format-fuzzer target.
See README.txt for details.
Test Plan: Tests will follow separately.
Reviewers: djasper, chandlerc, rnk
Reviewed By: rnk
Subscribers: majnemer, ygribov, dblaikie, llvm-commits
Differential Revision: http://reviews.llvm.org/D7184
llvm-svn: 227252
|