Fuzzers: Add PAM fuzzer

This commit is contained in:
Tim Ledbetter 2024-02-12 18:22:48 +00:00 committed by Jelle Raaijmakers
parent 570480c7d5
commit 89c0e3541e
Notes: sideshowbarker 2024-07-17 02:59:43 +09:00
4 changed files with 37 additions and 0 deletions

View file

@ -0,0 +1,20 @@
/*
* Copyright (c) 2024, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibGfx/ImageFormats/PAMLoader.h>
#include <stddef.h>
#include <stdint.h>
extern "C" int LLVMFuzzerTestOneInput(uint8_t const* data, size_t size)
{
AK::set_debug_enabled(false);
auto decoder_or_error = Gfx::PAMImageDecoderPlugin::create({ data, size });
if (decoder_or_error.is_error())
return 0;
auto decoder = decoder_or_error.release_value();
(void)decoder->frame(0);
return 0;
}

View file

@ -0,0 +1,14 @@
magic_bytes="P7"
header_token_endhdr="ENDHDR"
header_token_width="WIDTH"
header_token_height="HEIGHT"
header_token_depth="DEPTH"
header_token_maxval="MAXVAL"
header_token_tupltype="TUPLTYPE"
tupltype_value_blackandwhite="BLACKANDWHITE"
tupltype_value_grayscale="GRAYSCALE"
tupltype_value_rgb="RGB"
tupltype_value_cmyk="CMYK"
tupltype_value_alpha_suffix="_ALPHA"

View file

@ -28,6 +28,7 @@ set(FUZZER_TARGETS
MatroskaReader
MD5
MP3Loader
PAMLoader
PBMLoader
PDF
PEM
@ -99,6 +100,7 @@ set(FUZZER_DEPENDENCIES_Markdown LibMarkdown)
set(FUZZER_DEPENDENCIES_MatroskaReader LibVideo)
set(FUZZER_DEPENDENCIES_MD5 LibCrypto)
set(FUZZER_DEPENDENCIES_MP3Loader LibAudio)
set(FUZZER_DEPENDENCIES_PAMLoader LibGfx)
set(FUZZER_DEPENDENCIES_PBMLoader LibGfx)
set(FUZZER_DEPENDENCIES_PDF LibPDF)
set(FUZZER_DEPENDENCIES_PEM LibCrypto)

View file

@ -42,6 +42,7 @@
T(MatroskaReader) \
T(MD5) \
T(MP3Loader) \
T(PAMLoader) \
T(PBMLoader) \
T(PDF) \
T(PEM) \