Commit 516d88566d7c7c4fa854f3043baf51ca92d7a6e8

Authored by Jay Berkenbilt
Committed by GitHub
2 parents 65a415e3 aaa65473

Merge pull request #1214 from jberkenbilt/fuzz-future

Fuzz future
build-scripts/build-fuzzer
@@ -8,8 +8,10 @@ sudo apt-get -y install build-essential cmake zlib1g-dev libjpeg-dev @@ -8,8 +8,10 @@ sudo apt-get -y install build-essential cmake zlib1g-dev libjpeg-dev
8 ./fuzz/oss-fuzz-build 8 ./fuzz/oss-fuzz-build
9 ls -l out/qpdf_fuzzer 9 ls -l out/qpdf_fuzzer
10 ls -l out/ 10 ls -l out/
11 -if ldd out/qpdf_fuzzer | grep -E 'libjpeg|libz|libqpdf'; then  
12 - echo 1>&2 "*** Fuzzers linked dynamically with some dependent libraries."  
13 - ldd out/qpdf_fuzzer  
14 - exit 2  
15 -fi 11 +for fuzzer in qpdf_fuzzer future_qpdf_fuzzer; do
  12 + if ldd out/$fuzzer | grep -E 'libjpeg|libz|libqpdf'; then
  13 + echo 1>&2 "*** Fuzzers linked dynamically with some dependent libraries."
  14 + ldd out/$fuzzer
  15 + exit 2
  16 + fi
  17 +done
fuzz/oss-fuzz-build
@@ -21,9 +21,18 @@ if [[ $GITHUB_FORK != "" ]]; then @@ -21,9 +21,18 @@ if [[ $GITHUB_FORK != "" ]]; then
21 fi 21 fi
22 fi 22 fi
23 23
24 -env CMAKE_PREFIX_PATH=$WORK LDFLAGS="-L$WORK/lib -lpthread" \  
25 - cmake -S . -B build \  
26 - -DOSS_FUZZ=1 -DBUILD_SHARED_LIBS=0 -DCMAKE_BUILD_TYPE=Debug \  
27 - -DUSE_IMPLICIT_CRYPTO=0 -DREQUIRE_CRYPTO_NATIVE=1  
28 -cmake --build build -j$(nproc) --target fuzzers  
29 -cmake --install build --component fuzz 24 +for future in ON OFF; do
  25 + rm -rf build
  26 + env CMAKE_PREFIX_PATH=$WORK LDFLAGS="-L$WORK/lib -lpthread" \
  27 + cmake -S . -B build \
  28 + -DOSS_FUZZ=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Debug \
  29 + -DUSE_IMPLICIT_CRYPTO=OFF -DREQUIRE_CRYPTO_NATIVE=ON \
  30 + -DFUTURE=$future
  31 + cmake --build build -j$(nproc) --target fuzzers
  32 + cmake --install build --component fuzz
  33 + if [[ $future == ON ]]; then
  34 + pushd $OUT
  35 + for i in *; do mv $i future_$i; done
  36 + popd
  37 + fi
  38 +done