1// This file is distributed under the University of Illinois Open Source 2// License. See LICENSE.TXT for details. 3 4// Make sure LLVMFuzzerInitialize is called. 5#include <assert.h> 6#include <stddef.h> 7#include <stdint.h> 8#include <stdio.h> 9#include <stdlib.h> 10#include <string.h> 11 12static char *argv0; 13 14extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv) { 15 assert(*argc > 0); 16 argv0 = **argv; 17 fprintf(stderr, "LLVMFuzzerInitialize: %s\n", argv0); 18 return 0; 19} 20 21extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { 22 if (Size == strlen(argv0) && 23 !strncmp(reinterpret_cast<const char *>(Data), argv0, Size)) { 24 fprintf(stderr, "BINGO %s\n", argv0); 25 exit(1); 26 } 27 return 0; 28} 29