Sha256: 03b0aee4ad1a9351d1845f63d0f43d7443c330dfdaad29c718d9e67b50464e13
Contents?: true
Size: 845 Bytes
Versions: 1
Compression:
Stored size: 845 Bytes
Contents
// This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // Simple test for a fuzzer. The fuzzer must find repeated bytes. #include <assert.h> #include <cstdint> #include <cstdlib> #include <cstddef> #include <iostream> extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { assert(Data); // Looking for AAAAAAAAAAAAAAAAAAAAAA or some such. size_t CurA = 0, MaxA = 0; for (size_t i = 0; i < Size; i++) { // Make sure there are no conditionals in the loop so that // coverage can't help the fuzzer. int EQ = Data[i] == 'A'; CurA = EQ * (CurA + 1); int GT = CurA > MaxA; MaxA = GT * CurA + (!GT) * MaxA; } if (MaxA >= 20) { std::cout << "BINGO; Found the target (Max: " << MaxA << "), exiting\n"; exit(0); } return 0; }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simdjson-0.3.0 | vendor/simdjson/dependencies/json/test/thirdparty/Fuzzer/test/RepeatedBytesTest.cpp |