llvm/lib/Fuzzer
Vitaly Buka 0a73805541 [libFuzzer] exit without running atexit handlers in libfuzzer's crash handler
Summary:
It's not safe to assume that atexit handlers can be run once the app crashed.

Patch by Jochen Eisinger.

Reviewers: kcc, vitalybuka

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D32640

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302076 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-03 20:31:19 +00:00
..
afl [libFuzzer] add a dummy LLVMFuzzerMutate to afl/afl_driver.cpp (https://github.com/google/oss-fuzz/issues/460) 2017-03-15 23:54:40 +00:00
standalone [libFuzzer] add StandaloneFuzzTargetMain.c and a test for it 2016-10-25 22:30:34 +00:00
test Fuzzer: Mark test/cxxstring.test UNSUPPORTED: windows 2017-04-28 23:59:53 +00:00
build.sh [libFuzzer] Use CXX to set compiler to use 2017-01-21 01:21:56 +00:00
CMakeLists.txt [libFuzzer] Always build libFuzzer 2017-04-21 22:38:24 +00:00
cxx.dict [libFuzzer] add AFL-style dictionary for C++, remove the old file with tokens 2015-12-22 01:50:51 +00:00
FuzzerCorpus.h [libFuzzer] simplify the code a bit 2017-03-31 04:17:45 +00:00
FuzzerCrossOver.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerDefs.h Fixup for r301054: Only use __attribute__((no_sanitize("memory"))) when it's available. 2017-04-21 22:58:55 +00:00
FuzzerDictionary.h [libFuzzer] make sure we don't execute libFuzzer's mem* and str* hooks while calling mem*/str* inside libFuzzer itself 2017-03-31 02:21:28 +00:00
FuzzerDriver.cpp [libFuzzer] remove -output_csv option. It duplicates the default output and got out of sync 2017-04-19 21:34:58 +00:00
FuzzerExtFunctions.def [libFuzzer] call __sanitizer_print_memory_profile with two params 2017-03-15 23:27:53 +00:00
FuzzerExtFunctions.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerExtFunctionsDlsym.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerExtFunctionsDlsymWin.cpp [libFuzzer] Use dynamic loading for External Functions on Windows. 2017-02-10 01:35:46 +00:00
FuzzerExtFunctionsWeak.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerExtFunctionsWeakAlias.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerExtraCounters.cpp [libFuzzer] create experimental support for user-provided coverage signal 2017-03-23 22:43:12 +00:00
FuzzerFlags.def [libFuzzer] extend help for -minimize_crash to cover ASAN_OPTIONS=dedup_token_length=3 2017-04-19 23:58:05 +00:00
FuzzerInterface.h [libFuzzer] use table of recent compares for memcmp/strcmp (to unify the code between cmp and memcmp handling) 2017-01-17 23:09:05 +00:00
FuzzerInternal.h Remove unnecessary semicolon 2017-04-28 04:49:32 +00:00
FuzzerIO.cpp [libFuzzer] Properly use Handle instead of FD on Windows. 2017-02-08 00:03:18 +00:00
FuzzerIO.h [libFuzzer] Properly use Handle instead of FD on Windows. 2017-02-08 00:03:18 +00:00
FuzzerIOPosix.cpp [libFuzzer] Properly use Handle instead of FD on Windows. 2017-02-08 00:03:18 +00:00
FuzzerIOWindows.cpp [libFuzzer] Properly use Handle instead of FD on Windows. 2017-02-08 00:03:18 +00:00
FuzzerLoop.cpp [libFuzzer] exit without running atexit handlers in libfuzzer's crash handler 2017-05-03 20:31:19 +00:00
FuzzerMain.cpp [libFuzzer] refactoring: split the large header into many; NFC 2016-09-21 01:50:50 +00:00
FuzzerMerge.cpp [libFuzzer] add two experimental flags to make corpus merging more scalable: -save_coverage_summary/-load_coverage_summary. This is still WIP, the documentation will come later if these flags survive 2017-03-22 20:32:44 +00:00
FuzzerMerge.h Fixup for r301054: Use an explicit constructor. 2017-04-21 23:28:01 +00:00
FuzzerMutate.cpp [libFuzzer] make sure we don't execute libFuzzer's mem* and str* hooks while calling mem*/str* inside libFuzzer itself 2017-03-31 02:21:28 +00:00
FuzzerMutate.h Revert "[libFuzzer] Use ChooseUnitIdxToMutate to pick item for crossover." 2017-03-15 23:08:18 +00:00
FuzzerOptions.h [libFuzzer] remove -output_csv option. It duplicates the default output and got out of sync 2017-04-19 21:34:58 +00:00
FuzzerRandom.h [libFuzzer] replace std::random_shuffle with std::shuffle as std::random_shuffle is being deprecated in C++17. Also simplify fuzzer::Random. NFC 2017-02-07 22:37:34 +00:00
FuzzerSHA1.cpp [LibFuzzer] Split up some functions among different headers. 2016-11-30 19:06:14 +00:00
FuzzerSHA1.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerShmem.h [libFuzzer] increase the default size for shmem 2017-02-01 00:07:47 +00:00
FuzzerShmemPosix.cpp [libfuzzer] chromium-related compilation fixes 2017-02-03 20:26:44 +00:00
FuzzerShmemWindows.cpp [libFuzzer] Temporarily fix Shmem for Windows. 2017-02-08 00:02:12 +00:00
FuzzerTracePC.cpp [libFuzzer] best effort support for -fsanitize-coverage=trace-pc instrumentation. It is less efficient and precise than -fsanitize-coverage=trace-pc-guard, but still works 2017-03-30 01:27:20 +00:00
FuzzerTracePC.h [libFuzzer] simplify the code a bit 2017-03-31 04:17:45 +00:00
FuzzerTraceState.cpp [libFuzzer] make sure we don't execute libFuzzer's mem* and str* hooks while calling mem*/str* inside libFuzzer itself 2017-03-31 02:21:28 +00:00
FuzzerUtil.cpp [libFuzzer] Properly use unsigned for workers, jobs and NumberOfCpuCores. 2016-12-13 17:45:53 +00:00
FuzzerUtil.h [libFuzzer] Portably disassemble and find calls to sanitizer_cov_trace_pc_guard. 2017-01-22 01:58:26 +00:00
FuzzerUtilDarwin.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerUtilLinux.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerUtilPosix.cpp [libFuzzer] Portably disassemble and find calls to sanitizer_cov_trace_pc_guard. 2017-01-22 01:58:26 +00:00
FuzzerUtilWindows.cpp [libFuzzer] Properly handle exceptions with UnhandledExceptionFilter. 2017-02-02 19:07:53 +00:00
FuzzerValueBitMap.h [libFuzzer] don't clear Counters in TracePC::CollectFeatures since they will be cleared anyway in ResetMaps 2017-03-14 21:40:53 +00:00
README.txt Move lib/Fuzzer docs from a README.txt to a proper .rst file. 2015-03-30 23:05:30 +00:00

Move to http://llvm.org/docs/LibFuzzer.html