| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 281667
|
|
|
|
|
|
| |
trace-pc-guard heuristic for 8-bit counters to look more like in AFL (not that it's provable better, but the existin test preferes this heuristic)
llvm-svn: 281577
|
|
|
|
| |
llvm-svn: 281568
|
|
|
|
| |
llvm-svn: 281435
|
|
|
|
| |
llvm-svn: 281122
|
|
|
|
| |
llvm-svn: 281016
|
|
|
|
| |
llvm-svn: 281014
|
|
|
|
|
|
| |
better
llvm-svn: 281007
|
|
|
|
|
|
| |
useful: print PCs only after the initial corpus has been read and symbolize them
llvm-svn: 279787
|
|
|
|
| |
llvm-svn: 279697
|
|
|
|
| |
llvm-svn: 279601
|
|
|
|
|
|
| |
from r278970
llvm-svn: 278982
|
|
|
|
|
|
| |
and the mutation sequence
llvm-svn: 278975
|
|
|
|
| |
llvm-svn: 278950
|
|
|
|
|
|
| |
affect control flow and treats new values as new coverage.
llvm-svn: 278839
|
|
|
|
| |
llvm-svn: 278825
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New mutation: InsertRepeatedBytes.
Updated mutation: EraseByte => EraseBytes.
This helps https://github.com/google/sanitizers/issues/710
where libFuzzer was not able to find a known bug.
Now it finds it in minutes.
Hopefully, the change is general enough to help other targets.
llvm-svn: 278687
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D23185
llvm-svn: 277859
|
|
|
|
| |
llvm-svn: 275648
|
|
|
|
|
|
|
|
| |
Summary: It also fixes a bug, when first random might not be ascii.
Differential Revision: http://reviews.llvm.org/D21573
llvm-svn: 273611
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21089
llvm-svn: 272054
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The option is very useful for testing, plus I intend to measure
its effect on fuzzer effectiveness.
Differential Revision: http://reviews.llvm.org/D21084
llvm-svn: 272035
|
|
|
|
|
|
|
|
| |
Summary: Refactoring, no functional changes.
Differential Revision: http://reviews.llvm.org/D20975
llvm-svn: 271740
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The motivation for this change is to fix linking issues on OSX.
However this only partially fixes linking issues (the uninstrumented
tests and a few others won't succesfully link yet).
This change introduces a struct of function pointers
(``fuzzer::ExternalFuntions``) which when initialised will point to the
optional functions if they are available. Currently these
``LLVMFuzzerInitialize`` and ``LLVMFuzzerCustomMutator`` functions.
Two implementations of ``fuzzer::ExternalFunctions`` constructor are
provided one for Linux and one for OSX.
The OSX implementation uses ``dlsym()`` because the prior implementation
using weak symbols does not work unless the additional flags are passed
to the linker.
The Linux implementation continues to use weak symbols because the
``dlsym()`` approach does not work unless additional flags are passed
to the linker.
Differential Revision: http://reviews.llvm.org/D20741
llvm-svn: 271491
|
|
|
|
|
|
| |
the main fuzzing thread, print the message in the getrusage thread and exit.
llvm-svn: 270945
|
|
|
|
|
|
| |
pointer to read from
llvm-svn: 270942
|
|
|
|
|
|
| |
on which we currently have a race (when reporting bugs from multiple threads)
llvm-svn: 270929
|
|
|
|
| |
llvm-svn: 270922
|
|
|
|
|
|
| |
reproducer properly
llvm-svn: 270905
|
|
|
|
|
|
| |
function declarations. Add a test for -only_ascii. NFC intended
llvm-svn: 270900
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D20301
llvm-svn: 270632
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Work around crashes in ``__sanitizer_malloc_hook()`` under Mac OSX.
Under Mac OSX we intercept calls to malloc before thread local
storage is initialised leading to a crash when accessing
``AllocTracer``. To workaround this ``AllocTracer`` is only accessed
in the hook under Linux. For symmetry ``__sanitizer_free_hook()``
is also modified in the same way.
To support this change a set of new macros
LIBFUZZER_LINUX and LIBFUZZER_APPLE has been defined which can be
used to check the target being compiled for.
Differential Revision: http://reviews.llvm.org/D20402
llvm-svn: 270145
|
|
|
|
| |
llvm-svn: 269448
|
|
|
|
|
|
|
|
|
| |
It is now less state-dependent and will allow easier comparing of
coverages of different units.
Differential Revision: http://reviews.llvm.org/D20085
llvm-svn: 269140
|
|
|
|
|
|
| |
the OOM reproducer.
llvm-svn: 268821
|
|
|
|
| |
llvm-svn: 268807
|
|
|
|
| |
llvm-svn: 268547
|
|
|
|
| |
llvm-svn: 268088
|
|
|
|
|
|
| |
finding a leak
llvm-svn: 267770
|
|
|
|
| |
llvm-svn: 267455
|
|
|
|
|
|
| |
it will help finding leaks while fuzzing
llvm-svn: 266838
|
|
|
|
|
|
| |
Don't report timeouts while still loading the corpus.
llvm-svn: 266693
|
|
|
|
| |
llvm-svn: 264338
|
|
|
|
|
|
| |
by closing stderr/stdout
llvm-svn: 263831
|
|
|
|
| |
llvm-svn: 263769
|
|
|
|
| |
llvm-svn: 263739
|
|
|
|
|
|
| |
blindly defaulting to 64 bytes.
llvm-svn: 263323
|
|
|
|
| |
llvm-svn: 262417
|
|
|
|
|
|
| |
least something if ASan is not handlig the signals for us. Remove abort_on_timeout flag.
llvm-svn: 262415
|