summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2017-01-24 08:32:59 +0000
committerpatrick <patrick@openbsd.org>2017-01-24 08:32:59 +0000
commit53d771aafdbe5b919f264f53cba3788e2c4cffd2 (patch)
tree7eca39498be0ff1e3a6daf583cd9ca5886bb2636 /gnu/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp
parentIn preparation of compiling our kernels with -ffreestanding, explicitly map (diff)
downloadwireguard-openbsd-53d771aafdbe5b919f264f53cba3788e2c4cffd2.tar.xz
wireguard-openbsd-53d771aafdbe5b919f264f53cba3788e2c4cffd2.zip
Import LLVM 4.0.0 rc1 including clang and lld to help the current
development effort on OpenBSD/arm64.
Diffstat (limited to 'gnu/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp')
-rw-r--r--gnu/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/gnu/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp b/gnu/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp
index 2ab5781155f..b624088b902 100644
--- a/gnu/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp
+++ b/gnu/llvm/lib/Fuzzer/test/CustomCrossOverTest.cpp
@@ -15,10 +15,16 @@
static const char *Separator = "-_^_-";
static const char *Target = "012-_^_-abc";
+static volatile int sink;
+
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
assert(Data);
std::string Str(reinterpret_cast<const char *>(Data), Size);
+ // Ensure that two different elements exist in the corpus.
+ if (Size && Data[0] == '0') sink++;
+ if (Size && Data[0] == 'a') sink--;
+
if (Str.find(Target) != std::string::npos) {
std::cout << "BINGO; Found the target, exiting\n";
exit(1);