diff --git a/Meta/Lagom/Fuzzers/CMakeLists.txt b/Meta/Lagom/Fuzzers/CMakeLists.txt index ad7034b994..4a7d4a9654 100644 --- a/Meta/Lagom/Fuzzers/CMakeLists.txt +++ b/Meta/Lagom/Fuzzers/CMakeLists.txt @@ -20,6 +20,7 @@ add_simple_fuzzer(FuzzCyrillicDecoder) add_simple_fuzzer(FuzzDeflateCompression) add_simple_fuzzer(FuzzDeflateDecompression) add_simple_fuzzer(FuzzELF) +add_simple_fuzzer(FuzzFlacLoader) add_simple_fuzzer(FuzzGemini) add_simple_fuzzer(FuzzGIFLoader) add_simple_fuzzer(FuzzGzipCompression) diff --git a/Meta/Lagom/Fuzzers/FuzzFlacLoader.cpp b/Meta/Lagom/Fuzzers/FuzzFlacLoader.cpp new file mode 100644 index 0000000000..03a5bbdc7f --- /dev/null +++ b/Meta/Lagom/Fuzzers/FuzzFlacLoader.cpp @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2021, Luke Wilde + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +{ + auto flac_data = ByteBuffer::copy(data, size); + auto flac = make(flac_data); + + if (!flac->sniff()) + return 1; + + while (flac->get_more_samples()) + ; + + return 0; +}