File: ossfuzz.sh

package info (click to toggle)
libspng 0.7.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,532 kB
  • sloc: ansic: 7,896; sh: 39; makefile: 22; cpp: 14
file content (50 lines) | stat: -rwxr-xr-x 1,649 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash -eu

# This script is meant to be run by
# https://github.com/google/oss-fuzz/blob/master/projects/libspng/Dockerfile

mkdir $SRC/zlib/build $SRC/libspng/build
cd $SRC/zlib/build
cmake ..
make -j$(nproc)

$CC $CFLAGS -c -I$SRC/zlib/build -I$SRC/zlib \
    $SRC/libspng/spng/spng.c \
    -o $SRC/libspng/build/libspng.o \

cp $SRC/zlib/build/libz.a $SRC/libspng/build/libz.a
cd $SRC/libspng/build
ar x libz.a
ar rcs libspng_static.a *.o

$CXX $CXXFLAGS -std=c++11 \
    $SRC/libspng/tests/spng_read_fuzzer.c \
    -DSPNGT_HAVE_FMEMOPEN=1 \
    -o $OUT/spng_read_fuzzer \
    $LIB_FUZZING_ENGINE $SRC/libspng/build/libspng_static.a $SRC/zlib/build/libz.a

$CXX $CXXFLAGS -std=c++11 -I$SRC/zlib/build -I$SRC/zlib \
    $SRC/libspng/tests/spng_read_fuzzer.c \
    -DSPNGT_HAVE_FMEMOPEN=1 \
    -o $OUT/spng_read_fuzzer_structure_aware \
    -include $SRC/fuzzer-test-suite/libpng-1.2.56/png_mutator.h \
    -D PNG_MUTATOR_DEFINE_LIBFUZZER_CUSTOM_MUTATOR \
    $LIB_FUZZING_ENGINE $SRC/libspng/build/libspng_static.a $SRC/zlib/build/libz.a

$CXX $CXXFLAGS -std=c++11 \
    $SRC/libspng/tests/spng_write_fuzzer.c \
    -DSPNGT_HAVE_FMEMOPEN=1 \
    -o $OUT/spng_write_fuzzer \
    $LIB_FUZZING_ENGINE $SRC/libspng/build/libspng_static.a $SRC/zlib/build/libz.a


find $SRC/libspng/tests -name "*.png" | \
     xargs zip $OUT/seed_corpus.zip

cp $SRC/libspng/tests/spng.dict $OUT/

ln -sf $OUT/seed_corpus.zip $OUT/spng_read_fuzzer_seed_corpus.zip
ln -sf $OUT/seed_corpus.zip $OUT/spng_read_fuzzer_structure_aware_seed_corpus.zip

ln -sf $OUT/spng.dict $OUT/spng_read_fuzzer.dict
ln -sf $OUT/spng.dict $OUT/spng_read_fuzzer_structure_aware.dict