Mike Aizatsky
|
f4643f6392
|
[libfuzzer] adding license headers to cpp files
Differential Revision: http://reviews.llvm.org/D18705
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265174 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-04-01 18:38:58 +00:00 |
|
Kostya Serebryany
|
7544ffc130
|
[libFuzzer] more docs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264803 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-29 23:07:36 +00:00 |
|
Kostya Serebryany
|
3d4018c32c
|
[libFuzzer] use fflush after every Printf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264459 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-25 20:31:26 +00:00 |
|
Kostya Serebryany
|
d32f138d30
|
[libFuzzer] handle SIGTERM
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264338 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-24 21:03:58 +00:00 |
|
Kostya Serebryany
|
c09d592889
|
[libFuzzer] don't report memory leaks if we are dying due to a timeout (just use _Exit instead of exit in the timeout callback)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264237 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-24 01:32:08 +00:00 |
|
Kostya Serebryany
|
f4b00d0631
|
[libFuzzer] use fdopen+vfprintf instead of fsnprintf+write
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264230 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-24 00:57:32 +00:00 |
|
Kostya Serebryany
|
4aa62c5d17
|
[libFuzzer] add a flag close_fd_mask so that we can silence spammy targets by closing stderr/stdout
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263831 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-18 20:58:29 +00:00 |
|
Benjamin Kramer
|
3ac2aa592d
|
[Fuzzer] Guard no_sanitize_memory attributes behind __has_feature.
Otherwise GCC fails to build it because it doesn't know the attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263787 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-18 14:19:19 +00:00 |
|
Kostya Serebryany
|
2b341f70ca
|
[libFuzzer] read corpus dirs recursively
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263773 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-18 01:36:00 +00:00 |
|
Kostya Serebryany
|
ab641c1abd
|
[libFuzzer] improve -merge functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263769 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-18 00:23:29 +00:00 |
|
Kostya Serebryany
|
bcace10c40
|
[libFuzzer] deprecate several flags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263739 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-17 19:59:39 +00:00 |
|
Kostya Serebryany
|
227603719a
|
[libFuzzer] add __attribute__((no_sanitize_memory)) to two functions that may be called from signal handler(s) or from msan. This will hopefully avoid msan false reports which I can't reproduce
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263737 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-17 19:42:35 +00:00 |
|
Mike Aizatsky
|
fa4edb682f
|
[libfuzzer] speeding up corpus load
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263591 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-15 21:47:21 +00:00 |
|
Kostya Serebryany
|
2f2c2e3539
|
[libFuzzer] use max_len exactly equal to the max size of input. Fix 32-bit build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263518 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-15 01:28:00 +00:00 |
|
Kostya Serebryany
|
b30f32650e
|
[libFuzzer] try to use max_len based on the items of the corpus instead of blindly defaulting to 64 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263323 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-12 01:57:04 +00:00 |
|
Mike Aizatsky
|
c0d25bf9b8
|
[libfuzzer] adding std:string to allowed adaptable argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262757 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-04 23:18:01 +00:00 |
|
Kostya Serebryany
|
2c1ecb8c48
|
[libFuzzer] log less when re-loading files; fix a silly bug: when running single files actually run all of them, not just the first one
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262754 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-04 22:35:40 +00:00 |
|
Mike Aizatsky
|
d7ee221d4d
|
[libfuzzer] arbitrary function adapter.
The adapter automates converting sequence of bytes into arbitrary
arguments.
Differential Revision: http://reviews.llvm.org/D17829
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262673 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-03 23:45:29 +00:00 |
|
Kostya Serebryany
|
2ef77db652
|
[libFuzzer] when interrupted, call _Exit() instead of exit()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262667 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-03 22:36:37 +00:00 |
|
Kostya Serebryany
|
c2ecfd6993
|
[libFuzzer] add -Werror for libFuzzer build rule
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262517 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-02 21:08:16 +00:00 |
|
Dmitry Vyukov
|
f984411dc5
|
libfuzzer: fix compiler warnings
- unused sigaction/setitimer result (used in assert)
- unchecked fscanf return value
- signed/unsigned comparison
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262472 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-02 09:54:40 +00:00 |
|
Kostya Serebryany
|
66bb64fd43
|
[libFuzzer] deprecate exit_on_first flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262417 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-01 22:33:14 +00:00 |
|
Kostya Serebryany
|
7a1dcf9965
|
[libFuzzer] add generic signal handlers so that libFuzzer can report at least something if ASan is not handlig the signals for us. Remove abort_on_timeout flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262415 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-01 22:19:21 +00:00 |
|
Kostya Serebryany
|
8ca429497a
|
[libFuzzer] remove FuzzerSanitizerOptions.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262354 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-01 17:46:32 +00:00 |
|
Rafael Espindola
|
93ed620d27
|
Refactor duplicated code for linking with pthread.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262344 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-03-01 15:54:40 +00:00 |
|
Kostya Serebryany
|
0b3b8cba94
|
[libFuzzer] fixing the bot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262106 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-27 03:14:23 +00:00 |
|
Kostya Serebryany
|
a6b4efd1d0
|
[libFuzzer] speedup path coverage handling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262102 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-27 01:50:16 +00:00 |
|
Kostya Serebryany
|
86b1b67565
|
[libFuzzer] add -print_final_stats=1 flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262084 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-26 22:42:23 +00:00 |
|
Kostya Serebryany
|
1ff29eb9ca
|
[libFuzzer] initial implementation of path coverage based on -fsanitize-coverage=trace-pc. This does not scale well yet, but already cracks FullCoverageSetTest in seconds
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262073 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-26 21:33:56 +00:00 |
|
Kostya Serebryany
|
a755f1bd65
|
[libFuzzer] only read MaxLen bytes from every file in the corpus to speedup loading the corpus
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261267 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-18 21:49:10 +00:00 |
|
Kostya Serebryany
|
b73d5ba466
|
[libFuzzer] fix the libFuzzer bot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261184 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-18 02:02:40 +00:00 |
|
Kostya Serebryany
|
73b0e08885
|
[libFuzzer] don't timeout when loading the corpus. Be a bit more verbose when loading large corpus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261143 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-17 19:42:34 +00:00 |
|
Kostya Serebryany
|
2d7392fe48
|
[libFuzzer] remove std::vector operations from hot paths, NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260829 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 17:56:51 +00:00 |
|
Kostya Serebryany
|
49429cee7f
|
[libFuzzer] don't require seed in fuzzer::Mutate, instead use the global Fuzzer object for fuzzer::Mutate. This makes custom mutators fast
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260810 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 06:24:18 +00:00 |
|
Kostya Serebryany
|
5a08f1b013
|
[libFuzzer] remove the C++-ish variant of FuzzerDriver from the interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260801 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 03:59:26 +00:00 |
|
Kostya Serebryany
|
d1eacb8ffc
|
[libFuzzer] simplify CTOR of MutationDispatcher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260800 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 03:46:26 +00:00 |
|
Kostya Serebryany
|
1d35d47455
|
[libFuzzer] get rid of MutationDispatcher::Impl (simplify the code; NFC)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260799 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 03:37:24 +00:00 |
|
Kostya Serebryany
|
efb0cc7640
|
[libFuzzer] get rid of UserSuppliedFuzzer; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260798 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 03:25:16 +00:00 |
|
Kostya Serebryany
|
728ca1266f
|
[libFuzzer] simplify the code around Random. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260797 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 03:00:53 +00:00 |
|
Kostya Serebryany
|
f71ac00d01
|
[libFuzzer] remove UserSuppliedFuzzer from the interface (it was a bad idea).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260796 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 02:39:30 +00:00 |
|
Kostya Serebryany
|
e6d7e3d948
|
[libFuzzer] provide a plain C interface for custom mutators (experimental)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260794 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-13 02:29:38 +00:00 |
|
Kostya Serebryany
|
14c6007ab2
|
[libFuzzer] make -runs=N flag also affect the simple runner (will execute every input N times)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260649 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-12 02:32:03 +00:00 |
|
Mike Aizatsky
|
dff48e6497
|
[libfuzzer] Removing coverage-related flags from asan options.
Summary:
Reasons to remove are twofold:
- we don't really need coverage=1 for libfuzzer operation
- makes controlling coverage for fuzzer processes non-trivial.
Differential Revision: http://reviews.llvm.org/D17168
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260611 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-11 22:20:34 +00:00 |
|
Kostya Serebryany
|
5a91878f44
|
[libFuzzer] hot fix a test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259732 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-04 00:12:28 +00:00 |
|
Kostya Serebryany
|
598f7017b4
|
[libFuzzer] don't write the test unit when a leak is detected (since we don't know which unit causes the leak)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259731 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-04 00:02:17 +00:00 |
|
Kostya Serebryany
|
7cec6c634b
|
[libFuzzer] don't create too many trace-based mutations as it may be too slow
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259600 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-02 23:17:45 +00:00 |
|
Kostya Serebryany
|
485551ecaf
|
[libFuzzer] allow passing 1 or more files as individual inputs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259459 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-02 03:03:47 +00:00 |
|
Kostya Serebryany
|
05de8e95f6
|
[libFuzzer] fail if the corpus dir does not exist
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259454 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-02-02 02:07:26 +00:00 |
|
Kostya Serebryany
|
58b3c64b6b
|
[libFuzzer] add -timeout_exitcode option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259265 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-01-29 23:30:07 +00:00 |
|
Kostya Serebryany
|
fb614ec4d4
|
[libFuzzer] re-enable test for -abort_on_timeout=1, this time protecting from ASAN_OPTIONS set outside
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259263 91177308-0d34-0410-b5e6-96231b3b80d8
|
2016-01-29 23:19:00 +00:00 |
|