diff --git a/Meta/Lagom/Fuzzers/CMakeLists.txt b/Meta/Lagom/Fuzzers/CMakeLists.txt index a7ac9acdbe..9701184814 100644 --- a/Meta/Lagom/Fuzzers/CMakeLists.txt +++ b/Meta/Lagom/Fuzzers/CMakeLists.txt @@ -43,6 +43,7 @@ add_simple_fuzzer(FuzzPoly1305 LibCrypto) add_simple_fuzzer(FuzzPPMLoader LibGfx) add_simple_fuzzer(FuzzPDF LibPDF) add_simple_fuzzer(FuzzQOILoader LibGfx) +add_simple_fuzzer(FuzzTGALoader LibGfx) add_simple_fuzzer(FuzzQuotedPrintableParser LibIMAP) add_simple_fuzzer(FuzzHebrewDecoder LibTextCodec) add_simple_fuzzer(FuzzHttpRequest LibHTTP) diff --git a/Meta/Lagom/Fuzzers/FuzzTGALoader.cpp b/Meta/Lagom/Fuzzers/FuzzTGALoader.cpp new file mode 100644 index 0000000000..7ffe6949ca --- /dev/null +++ b/Meta/Lagom/Fuzzers/FuzzTGALoader.cpp @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2022, Liav A. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include + +extern "C" int LLVMFuzzerTestOneInput(uint8_t const* data, size_t size) +{ + Gfx::TGAImageDecoderPlugin decoder(data, size); + (void)decoder.frame(0); + return 0; +} diff --git a/Userland/Utilities/test-fuzz.cpp b/Userland/Utilities/test-fuzz.cpp index fea99e8686..a7539d1774 100644 --- a/Userland/Utilities/test-fuzz.cpp +++ b/Userland/Utilities/test-fuzz.cpp @@ -25,6 +25,7 @@ T(PNGLoader) \ T(PPMLoader) \ T(QOILoader) \ + T(TGALoader) \ T(RegexECMA262) \ T(RegexPosixExtended) \ T(Shell) \ @@ -92,6 +93,10 @@ ENUMERATE_TARGETS(__ENUMERATE_TARGET) #include #undef LLVMFuzzerTestOneInput +#define LLVMFuzzerTestOneInput TestTGALoader +#include +#undef LLVMFuzzerTestOneInput + #define LLVMFuzzerTestOneInput TestRegexECMA262 #include #undef LLVMFuzzerTestOneInput