From 5689bc2040aec96f29956c191f52902c6463cfa6 Mon Sep 17 00:00:00 2001 From: Pierre-Anthony Lemieux Date: Sun, 10 May 2026 22:46:38 -0700 Subject: [PATCH] Add OSS fuzz corpus for ojph_compress_fuzz_target --- .../ojph_compress_fuzz_target.cpp | 28 +++++++++++++++++- .../w128_h128_b2_79_b3_09.bin | Bin 0 -> 32772 bytes 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 fuzzing/seed_corpus/ojph_compress_fuzz_target/w128_h128_b2_79_b3_09.bin diff --git a/fuzzing/fuzz_targets/ojph_compress_fuzz_target.cpp b/fuzzing/fuzz_targets/ojph_compress_fuzz_target.cpp index 8deefc56..0e33c671 100644 --- a/fuzzing/fuzz_targets/ojph_compress_fuzz_target.cpp +++ b/fuzzing/fuzz_targets/ojph_compress_fuzz_target.cpp @@ -35,6 +35,7 @@ //***************************************************************************/ #include +#include #include #include @@ -57,8 +58,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { - if (Size < 5) + if (Size < 5) { return 0; + } ojph::ui32 width = (Data[0] & 0x7F) + 1; ojph::ui32 height = (Data[1] & 0x7F) + 1; @@ -129,3 +131,27 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) } return 0; } + +#ifdef OJPH_FUZZ_TARGET_MAIN +int main(int argc, char **argv) { + if (argc != 2) { + return -1; + } + FILE *f = fopen(argv[1], "rb"); + if (!f) { return -1; } + fseek(f, 0, SEEK_END); + long len = ftell(f); + if (len < 0) { + return -1; + } + rewind(f); + std::vector buf(len); + size_t n = fread(buf.data(), 1, len, f); + if(n != static_cast(len)) { + return -1; + } + fclose(f); + LLVMFuzzerTestOneInput(buf.data(), buf.size()); + return 0; +} +#endif \ No newline at end of file diff --git a/fuzzing/seed_corpus/ojph_compress_fuzz_target/w128_h128_b2_79_b3_09.bin b/fuzzing/seed_corpus/ojph_compress_fuzz_target/w128_h128_b2_79_b3_09.bin new file mode 100644 index 0000000000000000000000000000000000000000..4a4f530f83cd2350b777cd4a3fefa58bad1e53b3 GIT binary patch literal 32772 zcmeI52S1fz7>A`YLsTfUXqTd4%SeefZBY@WL6L|$vMH&^Xw#%UNl{v6R;68NA}S+$ ze39!ToZmU;eV^yP|NrX}2zZQw9u3o!- zYCc$b@hM#{%dG#YX0BS+ScCD+11^{=jZ$9_s{>I=O531-haIRIsb6} zUVcu>WEI#r}`|C;MOa-|YX%Kal?* z|3dzU{1f>v@^9q-$Ul<*B>zhOm;5vNZ}RWt|LH%_|DgXu|A+n){V)1&^#ABT(*LCY zO8=MsGyQM+@AUuSAHaWre*ymk{t5gS_&4x>;2*(%f`0}73;r4WH~4q(|KK0Oe}sPt z{}cWx{8#w5@PFYS!+(Z<4gVYdIsA9{_wfJmAK-t$e}Vr4{|WvV{5SZ2@E_rS!hePT v3;!AZH~e?_|L`B;f5d-@{}cZy{#X3B_*Pn5+n literal 0 HcmV?d00001