1// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
2// See https://llvm.org/LICENSE.txt for license information.
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4
5// Test that we can find the minimal item in the corpus (4 bytes: "FUZZ").
6#include <cstddef>
7#include <cstdint>
8#include <cstdio>
9#include <cstdlib>
10#include <cstring>
11
12static volatile uint32_t Sink;
13
14extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
15 if (Size < sizeof(uint32_t)) return 0;
16 uint32_t X, Y;
17 size_t Offset = Size < 8 ? 0 : Size / 2;
18 memcpy(dest: &X, src: Data + Offset, n: sizeof(uint32_t));
19 memcpy(dest: &Y, src: "FUZZ", n: sizeof(uint32_t));
20 Sink = X == Y;
21 return 0;
22}
23
24

source code of compiler-rt/test/fuzzer/ShrinkValueProfileTest.cpp