llvm-project/llvm/lib/Fuzzer
Marcos Pividori 67dfacdd80 [libFuzzer] Implement DirName() for Windows.
Implement DirName from scratch to avoid dependencies on external libraries.
It's based on MSDN documentation for Naming Files, Paths, and Namespaces.

The algorithm can't simply start from the end and look backwards for the
first separator, because we need to preserve the prefix that represent
the root location. We shouldn't remove anything there. In Windows we
have many different options, like:
 \\Server\Share\ , \ , C: , C:\ , \\?\C:\ , \\?\UNC\Server\Share\
We remove the last separator in the rest of the path, if it exists.

It was implemented to have a similar behaviour to dirname() in linux,
removing trailing separators, returning "." when the path doesn't
contain separators, etc.

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

llvm-svn: 289562
2016-12-13 17:46:32 +00:00
..
afl [libFuzzer] extend the messages printed by afl_driver 2016-07-19 23:18:28 +00:00
standalone [libFuzzer] add StandaloneFuzzTargetMain.c and a test for it 2016-10-25 22:30:34 +00:00
test [libFuzzer] Fix bug in detecting timeouts when input string is empty. 2016-12-13 17:46:25 +00:00
CMakeLists.txt [libFuzzer] build libFuzzer itself with asan 2016-12-12 20:58:10 +00:00
FuzzerCorpus.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerCrossOver.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerDefs.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerDictionary.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerDriver.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerExtFunctions.def [libFuzzer] use __sanitizer_get_module_and_offset_for_pc to get the module name while printing the coverage 2016-12-10 01:19:35 +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
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
FuzzerFlags.def [libFuzzer] Properly use unsigned for workers, jobs and NumberOfCpuCores. 2016-12-13 17:45:53 +00:00
FuzzerFnAdapter.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerIO.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerIO.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerIOPosix.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerIOWindows.cpp [libFuzzer] Implement DirName() for Windows. 2016-12-13 17:46:32 +00:00
FuzzerInterface.h [libfuzzer] custom crossover interface function. 2016-06-07 20:22:15 +00:00
FuzzerInternal.h [libFuzzer] Fix bug in detecting timeouts when input string is empty. 2016-12-13 17:46:25 +00:00
FuzzerLoop.cpp [libFuzzer] Fix bug in detecting timeouts when input string is empty. 2016-12-13 17:46:25 +00:00
FuzzerMain.cpp [libFuzzer] refactoring: split the large header into many; NFC 2016-09-21 01:50:50 +00:00
FuzzerMerge.cpp [libFuzzer] respect -max_len during merge 2016-12-12 20:39:35 +00:00
FuzzerMerge.h [libFuzzer] implement crash-resistant merge (https://github.com/google/sanitizers/issues/722). This is a first experimental variant that needs some more testing, thus not yet adding a lit test (but there are unit tests). 2016-12-09 01:17:24 +00:00
FuzzerMutate.cpp Resubmit "[LibFuzzer] Split FuzzerUtil for Posix and Windows." 2016-12-02 23:02:01 +00:00
FuzzerMutate.h [libFuzzer] simplify the code for use_cmp, also use the position hint when available, add a test 2016-10-25 02:04:43 +00:00
FuzzerOptions.h [libFuzzer] Improve Signal Handler interface. 2016-12-13 17:45:20 +00:00
FuzzerRandom.h [libFuzzer] when mutating based on CMP traces also try adding +/- 1 to the desired bytes. Add another test for use_cmp 2016-10-25 20:15:15 +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
FuzzerTracePC.cpp [libFuzzer] use __sanitizer_get_module_and_offset_for_pc to get the module name while printing the coverage 2016-12-10 01:19:35 +00:00
FuzzerTracePC.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerTraceState.cpp Resubmit "[LibFuzzer] Split FuzzerUtil for Posix and Windows." 2016-12-02 23:02:01 +00:00
FuzzerUtil.cpp [libFuzzer] Properly use unsigned for workers, jobs and NumberOfCpuCores. 2016-12-13 17:45:53 +00:00
FuzzerUtil.h [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +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] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerUtilWindows.cpp [libFuzzer] Clean up headers and file formatting of LibFuzzer files. 2016-12-13 17:46:11 +00:00
FuzzerValueBitMap.h [libFuzzer] refactoring to make -shrink=1 work for value profile, added a test. 2016-10-05 22:56:21 +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
build.sh [libFuzzer] when shrinking the corpus, delete evicted files previously created by the current process 2016-10-08 23:24:45 +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

README.txt

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