/* * Copyright 2018 LLVM contributors * * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception * * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. * See https://llvm.org/LICENSE.txt for license information. */ /* Simpler gnu89 version of StandaloneFuzzTargetMain.c from LLVM */ #include #include #include extern int LLVMFuzzerTestOneInput (const unsigned char *data, size_t size); int main (int argc, char **argv) { FILE *f; long tell_result; size_t n_read, len; unsigned char *buf; if (argc < 2) return 1; f = fopen (argv[1], "r"); assert (f); fseek (f, 0, SEEK_END); tell_result = ftell (f); assert (tell_result >= 0); len = (size_t) tell_result; fseek (f, 0, SEEK_SET); buf = (unsigned char*) malloc (len); n_read = fread (buf, 1, len, f); assert (n_read == len); LLVMFuzzerTestOneInput (buf, len); free (buf); fclose (f); printf ("Done!\n"); return 0; }