From 5c385d06e8eb548902252d98775b8cb8d3f0270c Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Sat, 1 May 2021 18:28:11 +0300 Subject: Lagom/Fuzzers: Add fuzzers for Windows-1251 and Windows-1255 decoders --- Meta/Lagom/Fuzzers/CMakeLists.txt | 2 ++ Meta/Lagom/Fuzzers/FuzzCyrillicDecoder.cpp | 18 ++++++++++++++++++ Meta/Lagom/Fuzzers/FuzzHebrewDecoder.cpp | 18 ++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 Meta/Lagom/Fuzzers/FuzzCyrillicDecoder.cpp create mode 100644 Meta/Lagom/Fuzzers/FuzzHebrewDecoder.cpp (limited to 'Meta/Lagom/Fuzzers') diff --git a/Meta/Lagom/Fuzzers/CMakeLists.txt b/Meta/Lagom/Fuzzers/CMakeLists.txt index c64e5dc7a3..e284a88b51 100644 --- a/Meta/Lagom/Fuzzers/CMakeLists.txt +++ b/Meta/Lagom/Fuzzers/CMakeLists.txt @@ -16,6 +16,7 @@ function(add_simple_fuzzer name) endfunction() add_simple_fuzzer(FuzzBMPLoader) +add_simple_fuzzer(FuzzCyrillicDecoder) add_simple_fuzzer(FuzzDeflateCompression) add_simple_fuzzer(FuzzDeflateDecompression) add_simple_fuzzer(FuzzELF) @@ -29,6 +30,7 @@ add_simple_fuzzer(FuzzPNGLoader) add_simple_fuzzer(FuzzPBMLoader) add_simple_fuzzer(FuzzPGMLoader) add_simple_fuzzer(FuzzPPMLoader) +add_simple_fuzzer(FuzzHebrewDecoder) add_simple_fuzzer(FuzzHttpRequest) add_simple_fuzzer(FuzzJs) add_simple_fuzzer(FuzzLatin1Decoder) diff --git a/Meta/Lagom/Fuzzers/FuzzCyrillicDecoder.cpp b/Meta/Lagom/Fuzzers/FuzzCyrillicDecoder.cpp new file mode 100644 index 0000000000..3ac4a172e0 --- /dev/null +++ b/Meta/Lagom/Fuzzers/FuzzCyrillicDecoder.cpp @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2021, the SerenityOS developers. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include +#include + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +{ + auto* decoder = TextCodec::decoder_for("windows-1251"); + VERIFY(decoder); + decoder->to_utf8({ data, size }); + return 0; +} diff --git a/Meta/Lagom/Fuzzers/FuzzHebrewDecoder.cpp b/Meta/Lagom/Fuzzers/FuzzHebrewDecoder.cpp new file mode 100644 index 0000000000..de7fe03562 --- /dev/null +++ b/Meta/Lagom/Fuzzers/FuzzHebrewDecoder.cpp @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2021, the SerenityOS developers. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include +#include + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +{ + auto* decoder = TextCodec::decoder_for("windows-1255"); + VERIFY(decoder); + decoder->to_utf8({ data, size }); + return 0; +} -- cgit v1.2.3