commit 48675d15965288ae50e47772bc8d26eeb1e40d38 from: Sergey Bronnikov date: Fri Oct 20 07:30:18 2017 UTC sample of a func with libfuzzer commit - ea4bdc8528c8b6c2824909734eb5e82c06464332 commit + 48675d15965288ae50e47772bc8d26eeb1e40d38 blob - /dev/null blob + 79aac8fda593196448440f59e4374a33ebdb53c7 (mode 644) --- /dev/null +++ tests/libfuzzer/Makefile @@ -0,0 +1,3 @@ + +build: + clang -fsanitize=fuzzer,address sample.cc -o sample blob - /dev/null blob + fe614fc9f640f2a75e2d9131fbd53f8bfd9b5165 (mode 644) --- /dev/null +++ tests/libfuzzer/README.md @@ -0,0 +1,5 @@ +## libfuzzer tests + +https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/ + +https://github.com/Dor1s/libfuzzer-workshop/tree/master/lessons/08#generate-coverage-report blob - /dev/null blob + 32b0d1b82bbb2a436df8c37fd6f1680dd7d2d4de (mode 644) --- /dev/null +++ tests/libfuzzer/sample.cc @@ -0,0 +1,15 @@ +#include +#include + +bool FuzzMe(const uint8_t *Data, size_t DataSize) { + return DataSize >= 3 && + Data[0] == 'F' && + Data[1] == 'U' && + Data[2] == 'Z' && + Data[3] == 'Z'; // :‑< +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + FuzzMe(Data, Size); + return 0; +}