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
5 // Simple test for a fuzzer. The fuzzer must find a particular string.
12 # define MEMCMP memcmp
15 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data
, size_t Size
) {
16 // TODO: check other sizes.
17 if (Size
>= 8 && MEMCMP(Data
, "01234567", 8) == 0) {
18 if (Size
>= 12 && MEMCMP(Data
+ 8, "ABCD", 4) == 0) {
19 if (Size
>= 14 && MEMCMP(Data
+ 12, "XY", 2) == 0) {
20 if (Size
>= 17 && MEMCMP(Data
+ 14, "KLM", 3) == 0) {
21 if (Size
>= 27 && MEMCMP(Data
+ 17, "ABCDE-GHIJ", 10) == 0){
22 fprintf(stderr
, "BINGO %zd\n", Size
);
23 for (size_t i
= 0; i
< Size
; i
++) {
25 if (C
>= 32 && C
< 127)
26 fprintf(stderr
, "%c", C
);
28 fprintf(stderr
, "\n");