28 lines · cpp
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-exception4 5// Simple test for a fuzzer. The fuzzer must find the string "Hi!".6#include <cstddef>7#include <cstdint>8#include <cstdlib>9#include <cstdio>10 11static volatile int Sink;12static volatile int *Null = 0;13 14extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {15 if (Size > 0 && Data[0] == 'H') {16 Sink = 1;17 if (Size > 1 && Data[1] == 'i') {18 Sink = 2;19 if (Size > 2 && Data[2] == '!') {20 printf("Found the target, dereferencing NULL\n");21 *Null = 1;22 }23 }24 }25 return 0;26}27 28