diff --git a/Meta/Lagom/Fuzzers/FuzzGzipCompression.cpp b/Meta/Lagom/Fuzzers/FuzzGzipRoundtrip.cpp similarity index 52% rename from Meta/Lagom/Fuzzers/FuzzGzipCompression.cpp rename to Meta/Lagom/Fuzzers/FuzzGzipRoundtrip.cpp index 8ed96906de9..3ea94578c49 100644 --- a/Meta/Lagom/Fuzzers/FuzzGzipCompression.cpp +++ b/Meta/Lagom/Fuzzers/FuzzGzipRoundtrip.cpp @@ -10,6 +10,12 @@ extern "C" int LLVMFuzzerTestOneInput(uint8_t const* data, size_t size) { AK::set_debug_enabled(false); - (void)Compress::GzipCompressor::compress_all(ReadonlyBytes { data, size }); + auto input = ReadonlyBytes { data, size }; + + auto compressed = MUST(Compress::GzipCompressor::compress_all(input)); + auto decompressed = MUST(Compress::GzipDecompressor::decompress_all(compressed)); + + VERIFY(decompressed == input); + return 0; } diff --git a/Meta/Lagom/Fuzzers/fuzzers.cmake b/Meta/Lagom/Fuzzers/fuzzers.cmake index 1edfd8faa7c..ca3b6adaa4a 100644 --- a/Meta/Lagom/Fuzzers/fuzzers.cmake +++ b/Meta/Lagom/Fuzzers/fuzzers.cmake @@ -11,8 +11,8 @@ set(FUZZER_TARGETS FlacLoader Gemini GIFLoader - GzipCompression GzipDecompression + GzipRoundtrip HttpRequest ICCProfile ICOLoader @@ -83,8 +83,8 @@ set(FUZZER_DEPENDENCIES_ELF LibELF) set(FUZZER_DEPENDENCIES_FlacLoader LibAudio) set(FUZZER_DEPENDENCIES_Gemini LibGemini) set(FUZZER_DEPENDENCIES_GIFLoader LibGfx) -set(FUZZER_DEPENDENCIES_GzipCompression LibCompress) set(FUZZER_DEPENDENCIES_GzipDecompression LibCompress) +set(FUZZER_DEPENDENCIES_GzipRoundtrip LibCompress) set(FUZZER_DEPENDENCIES_HttpRequest LibHTTP) set(FUZZER_DEPENDENCIES_ICCProfile LibGfx) set(FUZZER_DEPENDENCIES_ICOLoader LibGfx) diff --git a/Userland/Utilities/test-fuzz.cpp b/Userland/Utilities/test-fuzz.cpp index c5b00839b85..e147ef36e05 100644 --- a/Userland/Utilities/test-fuzz.cpp +++ b/Userland/Utilities/test-fuzz.cpp @@ -25,8 +25,8 @@ T(FlacLoader) \ T(Gemini) \ T(GIFLoader) \ - T(GzipCompression) \ T(GzipDecompression) \ + T(GzipRoundtrip) \ T(HttpRequest) \ T(ICCProfile) \ T(ICOLoader) \