diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-06-23 20:31:35 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-06-23 21:37:21 +0200 |
commit | 0ae344d002755d1f218fe4fbd818a814bc3ebdbc (patch) | |
tree | a4a9205045c43caaf51e7ceccd5edb222c8af657 /fuzz/build.mk | |
parent | 43ff34b49c55f03d8613e3cefd405d3c64dc354a (diff) | |
download | qpdf-0ae344d002755d1f218fe4fbd818a814bc3ebdbc.tar.zst |
Add fuzzers to exercise specific pipeline classes
Diffstat (limited to 'fuzz/build.mk')
-rw-r--r-- | fuzz/build.mk | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/fuzz/build.mk b/fuzz/build.mk index 43b65906..44db5326 100644 --- a/fuzz/build.mk +++ b/fuzz/build.mk @@ -1,7 +1,16 @@ # This directory contains support for Google's oss-fuzz project. See # https://github.com/google/oss-fuzz/tree/master/projects/qpdf -FUZZERS = qpdf_fuzzer +FUZZERS = \ + qpdf_fuzzer \ + ascii85_fuzzer \ + dct_fuzzer \ + flate_fuzzer \ + hex_fuzzer \ + lzw_fuzzer \ + pngpredictor_fuzzer \ + runlength_fuzzer \ + tiffpredictor_fuzzer DEFAULT_FUZZ_RUNNER := standalone_fuzz_target_runner OBJ_DEFAULT_FUZZ := fuzz/$(OUTPUT_DIR)/$(DEFAULT_FUZZ_RUNNER).$(OBJ) @@ -9,7 +18,8 @@ OBJ_DEFAULT_FUZZ := fuzz/$(OUTPUT_DIR)/$(DEFAULT_FUZZ_RUNNER).$(OBJ) BINS_fuzz = $(foreach B,$(FUZZERS),fuzz/$(OUTPUT_DIR)/$(call binname,$(B))) TARGETS_fuzz = $(OBJ_DEFAULT_FUZZ) $(BINS_fuzz) fuzz_corpus -INCLUDES_fuzz = include +# Fuzzers test private classes too, so we need libqpdf in the include path +INCLUDES_fuzz = include libqpdf # LIB_FUZZING_ENGINE is overridden by oss-fuzz LIB_FUZZING_ENGINE ?= $(OBJ_DEFAULT_FUZZ) @@ -129,6 +139,8 @@ install_fuzz: $(STATIC_BINS_fuzz) fi; \ if test -d fuzz/$(OUTPUT_DIR)/$${B}_seed_corpus; then \ (cd fuzz/$(OUTPUT_DIR)/$${B}_seed_corpus; zip -q -r $(OUT)/$${B}_seed_corpus.zip .); \ + elif test -d fuzz/$${B}_seed_corpus; then \ + (cd fuzz/$${B}_seed_corpus; zip -q -r $(OUT)/$${B}_seed_corpus.zip .); \ fi; \ done |