GraphicsMagick: fuzzing/oss-fuzz-build.sh: Added support for bui...
GraphicsMagick Commits <[email protected]> Sun, 14 Jul 2024 18:29:32 -0500
| Newsgroups | gmane.comp.video.graphicsmagick.cvs |
|---|---|
| Message-ID | <mailman.778.1720999785.7812.graphicsmagick-commit@lists.sourceforge.net> |
changeset 806b1c07f221 in /hg/GraphicsMagick details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=806b1c07f221 summary: fuzzing/oss-fuzz-build.sh: Added support for building libzip. diffstat: ChangeLog | 4 ++ VisualMagick/installer/inc/version.isx | 4 +- fuzzing/oss-fuzz-build.sh | 56 ++++++++++++++++++++++++++++++++++ magick/version.h | 4 +- www/ChangeLog.html | 6 +++ 5 files changed, 70 insertions(+), 4 deletions(-) diffs (146 lines): diff -r 7695ab54cee1 -r 806b1c07f221 ChangeLog --- a/ChangeLog Sat Jul 13 18:15:14 2024 -0500 +++ b/ChangeLog Sun Jul 14 18:29:09 2024 -0500 @@ -1,3 +1,7 @@ +2024-07-14 Bob Friesenhahn <[email protected]> + + * fuzzing/oss-fuzz-build.sh: Added support for building libzip. + 2024-07-13 Bob Friesenhahn <[email protected]> * magick/display.c (MagickXROIImage): Fix clang-analyzer issue. diff -r 7695ab54cee1 -r 806b1c07f221 VisualMagick/installer/inc/version.isx --- a/VisualMagick/installer/inc/version.isx Sat Jul 13 18:15:14 2024 -0500 +++ b/VisualMagick/installer/inc/version.isx Sun Jul 14 18:29:09 2024 -0500 @@ -10,5 +10,5 @@ #define public MagickPackageName "GraphicsMagick" #define public MagickPackageVersion "1.4" -#define public MagickPackageVersionAddendum ".020240713" -#define public MagickPackageReleaseDate "snapshot-20240713" +#define public MagickPackageVersionAddendum ".020240714" +#define public MagickPackageReleaseDate "snapshot-20240714" diff -r 7695ab54cee1 -r 806b1c07f221 fuzzing/oss-fuzz-build.sh --- a/fuzzing/oss-fuzz-build.sh Sat Jul 13 18:15:14 2024 -0500 +++ b/fuzzing/oss-fuzz-build.sh Sun Jul 14 18:29:09 2024 -0500 @@ -16,6 +16,9 @@ # ~/src/GM% docker cp fuzzing/oss-fuzz-build.sh $(docker ps -lq):/src/graphicsmagick/fuzzing/oss-fuzz-build.sh # ~/src/GM% docker cp fuzzing/coder_fuzzer.cc $(docker ps -lq):/src/graphicsmagick/fuzzing/ # +# Execute in the oss-fuzz shell environment like "/src/build.sh" while +# in the initial "/src/graphicsmagick" directory. +# # # Useful environment variables: # @@ -29,6 +32,15 @@ # OUT=/out # SRC=/src +printf "SANITIZER=${SANITIZER}\n" +printf "ARCHITECTURE=${ARCHITECTURE}\n" +printf "FUZZING_ENGINE=${FUZZING_ENGINE}\n" +printf "LIB_FUZZING_ENGINE=${LIB_FUZZING_ENGINE}\n" +printf "FUZZER_LDFLAGS=${FUZZER_LDFLAGS}\n" +printf "WORK=${WORK}\n" +printf "OUT=${OUT}\n" +printf "SRC=${SRC}\n" + enable_aom=true enable_bzip2=true enable_de265=true @@ -46,6 +58,7 @@ enable_xml=false enable_xz=true enable_zstd=true +enable_libzip=true export PKG_CONFIG_PATH="$WORK/lib/pkgconfig" export PKG_CONFIG='pkg-config --static' @@ -71,6 +84,8 @@ printf "OUT=${OUT}\n" ls -l "${OUT}" +rm -f ${OUT}/*_fuzzer + set -x # build zlib @@ -579,6 +594,47 @@ popd fi +# Libzip also wants Nettle, GnuTLS, MbedTLS, or OpenSSL (checked in +# that order). Each of these is quite an onerous dependency! +# Hopefully not required in order to work. Libzip's own oss-fuzz build +# seems to dynamically link with OpenSSL and expects the same shared +# library on the fuzzing host. +if $enable_libzip +then + LIBZIP_BUILD="${SRC}/libzip_build" + if [ -d ${SRC}/libzip ] + then + printf "=== Building ${SRC}/libzip...\n" + rm -rf ${LIBZIP_BUILD} + mkdir -p ${LIBZIP_BUILD} + pushd ${LIBZIP_BUILD} + cmake \ + -DBUILD_SHARED_LIBS=off \ + -DBUILD_TESTING=off \ + -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_CXX_COMPILER=$CXX \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_COMPILER=$CC \ + -DCMAKE_C_FLAGS="$CFLAGS -fPIC" \ + -DCMAKE_INSTALL_PREFIX=$WORK \ + -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \ + -DBUILD_DOC=OFF \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_OSSFUZZ=OFF \ + -DBUILD_REGRESS=OFF \ + -DBUILD_TOOLS=OFF \ + -DBUILD_TOOLS=OFF \ + -DENABLE_GNUTLS=OFF \ + -DENABLE_MBEDTLS=OFF \ + -DENABLE_OPENSSL=OFF \ + -DHAVE_CRYPTO=OFF \ + "${SRC}/libzip" + make -j$(nproc) + make install + popd + fi +fi + printf "Built libraries:\n" ls -l ${WORK}/lib diff -r 7695ab54cee1 -r 806b1c07f221 magick/version.h --- a/magick/version.h Sat Jul 13 18:15:14 2024 -0500 +++ b/magick/version.h Sun Jul 14 18:29:09 2024 -0500 @@ -38,8 +38,8 @@ #define MagickLibVersion 0x282500 #define MagickLibVersionText "1.4" #define MagickLibVersionNumber 28,25,0 -#define MagickChangeDate "20240713" -#define MagickReleaseDate "snapshot-20240713" +#define MagickChangeDate "20240714" +#define MagickReleaseDate "snapshot-20240714" /* The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines diff -r 7695ab54cee1 -r 806b1c07f221 www/ChangeLog.html --- a/www/ChangeLog.html Sat Jul 13 18:15:14 2024 -0500 +++ b/www/ChangeLog.html Sun Jul 14 18:29:09 2024 -0500 @@ -38,6 +38,12 @@ <main id="graphicsmagick-changelog"> <h1 class="title">GraphicsMagick ChangeLog</h1> +<p>2024-07-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li><p>fuzzing/oss-fuzz-build.sh: Added support for building libzip.</p></li> +</ul> +</blockquote> <p>2024-07-13 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple">