summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/test/SimpleHashTest.cpp
diff options
context:
space:
mode:
authorGeorge Karpenkov <ekarpenkov@apple.com>2017-08-21 23:25:12 +0000
committerGeorge Karpenkov <ekarpenkov@apple.com>2017-08-21 23:25:12 +0000
commit748bf121bbd41fb1a8e6758fd0059687757f7535 (patch)
tree601005e1924b9092070583c7fe7e5ca7dbd372d8 /llvm/lib/Fuzzer/test/SimpleHashTest.cpp
parentf281ae599217703aa54582052db9583b186cf7c1 (diff)
downloadbcm5719-llvm-748bf121bbd41fb1a8e6758fd0059687757f7535.tar.gz
bcm5719-llvm-748bf121bbd41fb1a8e6758fd0059687757f7535.zip
Moving libFuzzer from LLVM to compiler-rt.
This change only removes libFuzzer tests and CMake machinery, the source copy temporarily remains at the old location. Differential Revision: https://reviews.llvm.org/D36980 llvm-svn: 311405
Diffstat (limited to 'llvm/lib/Fuzzer/test/SimpleHashTest.cpp')
-rw-r--r--llvm/lib/Fuzzer/test/SimpleHashTest.cpp40
1 files changed, 0 insertions, 40 deletions
diff --git a/llvm/lib/Fuzzer/test/SimpleHashTest.cpp b/llvm/lib/Fuzzer/test/SimpleHashTest.cpp
deleted file mode 100644
index 99e96cb25dc..00000000000
--- a/llvm/lib/Fuzzer/test/SimpleHashTest.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-
-// This test computes a checksum of the data (all but the last 4 bytes),
-// and then compares the last 4 bytes with the computed value.
-// A fuzzer with cmp traces is expected to defeat this check.
-#include <cstdint>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-
-// A modified jenkins_one_at_a_time_hash initialized by non-zero,
-// so that simple_hash(0) != 0. See also
-// https://en.wikipedia.org/wiki/Jenkins_hash_function
-static uint32_t simple_hash(const uint8_t *Data, size_t Size) {
- uint32_t Hash = 0x12039854;
- for (uint32_t i = 0; i < Size; i++) {
- Hash += Data[i];
- Hash += (Hash << 10);
- Hash ^= (Hash >> 6);
- }
- Hash += (Hash << 3);
- Hash ^= (Hash >> 11);
- Hash += (Hash << 15);
- return Hash;
-}
-
-extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
- if (Size < 14)
- return 0;
-
- uint32_t Hash = simple_hash(&Data[0], Size - 4);
- uint32_t Want = reinterpret_cast<const uint32_t *>(&Data[Size - 4])[0];
- if (Hash != Want)
- return 0;
- fprintf(stderr, "BINGO; simple_hash defeated: %x == %x\n", (unsigned int)Hash,
- (unsigned int)Want);
- exit(1);
- return 0;
-}
OpenPOWER on IntegriCloud