From dcb1116f1351bc8edad059d9ca432e8f322ba922 Mon Sep 17 00:00:00 2001 From: Randy Date: Thu, 26 Nov 2020 02:18:13 +0100 Subject: [PATCH] ossfuzz: improve code coverage fix .gif pattern matching add netpbm test images derived from the public domain pngsuite added more image types (downloaded in Dockerfile) --- tests/ossfuzz.sh | 8 ++++++-- tests/pbm/basi0g16.pgm | Bin 0 -> 2064 bytes tests/pbm/basi2c16.ppm | Bin 0 -> 6160 bytes tests/pbm/cdfn2c08.ppm | Bin 0 -> 826 bytes tests/pbm/cdun2c08.ppm | Bin 0 -> 3086 bytes tests/pbm/comment.pgm | Bin 0 -> 1083 bytes tests/pbm/ctfn0g04.pgm | Bin 0 -> 1038 bytes 7 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 tests/pbm/basi0g16.pgm create mode 100644 tests/pbm/basi2c16.ppm create mode 100644 tests/pbm/cdfn2c08.ppm create mode 100644 tests/pbm/cdun2c08.ppm create mode 100644 tests/pbm/comment.pgm create mode 100644 tests/pbm/ctfn0g04.pgm diff --git a/tests/ossfuzz.sh b/tests/ossfuzz.sh index 2af98f5..4b8fd27 100755 --- a/tests/ossfuzz.sh +++ b/tests/ossfuzz.sh @@ -17,9 +17,13 @@ cp $SRC/stb/tests/stb_png.dict $OUT/stb_png_read_fuzzer.dict tar xvzf $SRC/stb/jpg.tar.gz --directory $SRC/stb/tests tar xvzf $SRC/stb/gif.tar.gz --directory $SRC/stb/tests +unzip $SRC/stb/bmp.zip -d $SRC/stb/tests +unzip $SRC/stb/tga.zip -d $SRC/stb/tests -find $SRC/stb/tests -name "*.png" -o -name "*.jpg" -o -name ".gif" | \ - xargs zip $OUT/stbi_read_fuzzer_seed_corpus.zip +find $SRC/stb/tests -name "*.png" -o -name "*.jpg" -o -name "*.gif" \ + -o -name "*.bmp" -o -name "*.tga" -o -name "*.TGA" \ + -o -name "*.ppm" -o -name "*.pgm" \ + | xargs zip $OUT/stbi_read_fuzzer_seed_corpus.zip echo "" >> $SRC/stb/tests/gif.dict cat $SRC/stb/tests/gif.dict $SRC/stb/tests/stb_png.dict > $OUT/stbi_read_fuzzer.dict diff --git a/tests/pbm/basi0g16.pgm b/tests/pbm/basi0g16.pgm new file mode 100644 index 0000000000000000000000000000000000000000..72412431a9513fbced9f9bac62f912d2edf89aea GIT binary patch literal 2064 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 P(p6*|{G1ovCTHLW)Hrd7 literal 0 HcmV?d00001 diff --git a/tests/pbm/cdun2c08.ppm b/tests/pbm/cdun2c08.ppm new file mode 100644 index 0000000000000000000000000000000000000000..2d7202b89dafb02c9a57f18997a48916bec26dcd GIT binary patch literal 3086 zcmb7_+p(iC3_$&zKRVc+TKerUZ2WdiTL+V0$EW((@>eIz*a;>yJq-#O-HD|wzVOV&L&3Ew& zWA>cG6;9@NzaM|&2xs2MGQI;c=yy6fBZeK?Y>QYPLrNQ&Qh2BEOrhV(D}`ZuQZ7zf z35P0(Ibq!LAs5(Uirz8T0v{JBt-T6M=)%WrEG%ee)725;&7?Z5B z|Ht*YWKv*pj)L;d1${>zn>j+>o#8je=iwZ`ue^lH{y-Rr2VIGc7$~o(Ut5u{)RFPU zo4kI!Kfw18X@4W+i~a1OBCCKoj#hJ$WaH1>BIiqn7GZ2Rly7edt1_u8=`&p=(dJ7` zD&KAP{W&+@w3rJE9~B>eUY?5e7v}co#=94UA>&)cTe~yV{>$T#w(nwmdsdG10ZO&e ztmpMQi7Wn(i)B_MaLY)cYvm)6M{sER_hvWbN literal 0 HcmV?d00001 diff --git a/tests/pbm/comment.pgm b/tests/pbm/comment.pgm new file mode 100644 index 0000000000000000000000000000000000000000..aa9dc71887f79ac4bd39c67cf3af312b332d3cea GIT binary patch literal 1083 zcmWGAl$}0GrtzKmf9z*76`b(ESavdnOQo z@q00Mk=Q%fE>zG41e1q3kjX(^A-Y>@r5mWQQtWPk4lf-^t>vY*!Spge|d LH^^QXptU>zF1GZB literal 0 HcmV?d00001 diff --git a/tests/pbm/ctfn0g04.pgm b/tests/pbm/ctfn0g04.pgm new file mode 100644 index 0000000000000000000000000000000000000000..284f8708977d076a30ee1ac63577121f46eac71a GIT binary patch literal 1038 zcmWGA<>E3nQZP2+GBP#g`i}&Rfxra_LV+L+2+Dx~N%}vn