diff options
author | George Karpenkov <ekarpenkov@apple.com> | 2017-08-21 23:25:12 +0000 |
---|---|---|
committer | George Karpenkov <ekarpenkov@apple.com> | 2017-08-21 23:25:12 +0000 |
commit | 748bf121bbd41fb1a8e6758fd0059687757f7535 (patch) | |
tree | 601005e1924b9092070583c7fe7e5ca7dbd372d8 /llvm/lib/Fuzzer/test/SimpleHashTest.cpp | |
parent | f281ae599217703aa54582052db9583b186cf7c1 (diff) | |
download | bcm5719-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.cpp | 40 |
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; -} |