| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Reorganize #includes to follow LLVM Coding Standards.
Include some missing headers. Required to use `Printf()`.
Aside from that, this patch contains no functional change.
It is purely a re-organization.
Differential Revision: https://reviews.llvm.org/D27363
llvm-svn: 289560
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch moves some posix specific file i/o code into a new
file, FuzzerIOPosix.cpp, and provides implementations for these
functions on Windows in FuzzerIOWindows.cpp. This is another
incremental step towards getting libfuzzer working on Windows,
although it still should not be expected to be fully working.
Patch by Marcos Pividori
Differential Revision: https://reviews.llvm.org/D27233
llvm-svn: 288275
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In an effort to get libfuzzer working on Windows, we need to make
a distinction between what functions require platform specific
code (e.g. different code on Windows vs Linux) and what code
doesn't. IO functions, for example, tend to be platform
specific.
This patch separates out some of the functions which will need
to have platform specific implementations into different headers,
so that we can then provide different implementations for each
platform.
Aside from that, this patch contains no functional change. It
is purely a re-organization.
Patch by Marcos Pividori
Differential Revision: https://reviews.llvm.org/D27230
llvm-svn: 288264
|
|
|
|
|
|
| |
created by the current process
llvm-svn: 283682
|
|
|
|
| |
llvm-svn: 282047
|
|
|
|
|
|
| |
unused experimental features
llvm-svn: 282042
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes linking problems on OSX.
Unfortunately it turns out we need to use an instance of the
``fuzzer::ExternalFunctions`` object in several places so this
commit also replaces all instances with a single global instance.
It also turns out initializing a global ``fuzzer::ExternalFunctions``
before main is entered (i.e. letting the object be initialised by the
global initializers) is not safe (on OSX the call to ``Printf()`` in the
CTOR crashes if it is called from a global initializer) so we instead
have a global ``fuzzer::ExternalFunctions*`` and initialize it inside
``FuzzerDriver()``.
Multiple unit tests depend also depend on the
``fuzzer::ExternalFunctions*`` global so a ``main()`` function has been
added that initializes it before running any tests.
Differential Revision: http://reviews.llvm.org/D20943
llvm-svn: 272072
|
|
|
|
|
|
| |
us to keep asan reports when closing target's stderr
llvm-svn: 271053
|
|
|
|
| |
llvm-svn: 264459
|
|
|
|
| |
llvm-svn: 264230
|
|
|
|
|
|
| |
by closing stderr/stdout
llvm-svn: 263831
|
|
|
|
| |
llvm-svn: 263773
|
|
|
|
| |
llvm-svn: 263591
|
|
|
|
|
|
| |
single files actually run all of them, not just the first one
llvm-svn: 262754
|
|
|
|
|
|
| |
loading the corpus
llvm-svn: 261267
|
|
|
|
|
|
| |
when loading large corpus.
llvm-svn: 261143
|
|
|
|
| |
llvm-svn: 259459
|
|
|
|
| |
llvm-svn: 259454
|
|
|
|
|
|
| |
Since libFuzzer should not depend on anything, just re-implement base64 encoder. PR25746
llvm-svn: 254784
|
|
|
|
|
|
| |
sanitizer headers
llvm-svn: 253003
|
|
|
|
|
|
| |
write crash-file because input is already known to the user. Patch by Mike Aizatsky
llvm-svn: 250564
|
|
|
|
|
|
| |
if a file was there but disappeared)
llvm-svn: 247066
|
|
|
|
| |
llvm-svn: 246087
|
|
|
|
| |
llvm-svn: 244707
|
|
|
|
| |
llvm-svn: 242596
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
CORPUS' to synchronize with other processes
llvm-svn: 237617
|
|
|
|
|
|
| |
LLVM_USE_SANITIZE_COVERAGE; in lib/Fuzzer try to reload the corpus to pick up new units from other processes
llvm-svn: 236906
|
|
|
|
| |
llvm-svn: 236548
|
|
|
|
|
|
| |
flags.
llvm-svn: 233745
|
|
|
|
|
|
| |
respect mutation depth and to never produce empty units
llvm-svn: 228170
|
|
|
|
|
|
| |
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
|