aboutsummaryrefslogtreecommitdiff
path: root/projects
diff options
context:
space:
mode:
authorGuido Vranken <guidovranken@users.noreply.github.com>2020-01-03 00:31:31 +0100
committerMax Moroz <mmoroz@chromium.org>2020-01-02 15:31:31 -0800
commit17035317a44fa89d22fe6846d868d4bf57def78b (patch)
treea27e2881b1ce31de39599c6ab1a5cea77c14b14c /projects
parent97dee00a3c4ce95071c3e061592f5fd577dea886 (diff)
downloadoss-fuzz-17035317a44fa89d22fe6846d868d4bf57def78b.tar.gz
[pillow] Fixes (#3175)
Diffstat (limited to 'projects')
-rw-r--r--projects/pillow/Dockerfile2
-rwxr-xr-xprojects/pillow/build.sh14
-rw-r--r--projects/pillow/project.yaml2
3 files changed, 10 insertions, 8 deletions
diff --git a/projects/pillow/Dockerfile b/projects/pillow/Dockerfile
index ecc953827..2174ae04b 100644
--- a/projects/pillow/Dockerfile
+++ b/projects/pillow/Dockerfile
@@ -17,7 +17,7 @@
FROM gcr.io/oss-fuzz-base/base-builder
MAINTAINER guidovranken@gmail.com
RUN apt-get update && apt-get install -y make autoconf automake build-essential libbz2-dev libc6-dev libffi-dev libfreetype6-dev libgdbm-dev libjpeg-turbo8-dev liblcms2-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev libtiff5-dev libtool libwebp-dev make python python-dev python-setuptools tk-dev wget zlib1g-dev
-RUN wget https://github.com/python/cpython/archive/v3.8.0b2.tar.gz
+RUN wget https://github.com/python/cpython/archive/v3.8.1.tar.gz
RUN git clone --depth 1 https://github.com/python-pillow/Pillow.git pillow
RUN git clone --depth 1 https://github.com/guidovranken/oss-fuzz-fuzzers
WORKDIR pillow
diff --git a/projects/pillow/build.sh b/projects/pillow/build.sh
index 7493d056f..cce712bdc 100755
--- a/projects/pillow/build.sh
+++ b/projects/pillow/build.sh
@@ -27,8 +27,8 @@
# Because the virtualenv will inherit CC and CFLAGS of the instrumented CPython, and that will fail.
cd $SRC/
-tar zxf v3.8.0b2.tar.gz
-cd cpython-3.8.0b2/
+tar zxf v3.8.1.tar.gz
+cd cpython-3.8.1/
# Ignore memory leaks from python scripts invoked in the build
export ASAN_OPTIONS="detect_leaks=0"
@@ -65,17 +65,17 @@ rm -rf $CPYTHON_UNINSTRUMENTED_INSTALL_PATH
mkdir $CPYTHON_UNINSTRUMENTED_INSTALL_PATH
cd $SRC/
-tar zxf v3.8.0b2.tar.gz
+tar zxf v3.8.1.tar.gz
# Compile uninstrumented CPython
-cp -R $SRC/cpython-3.8.0b2/ $SRC/cpython-3.8.0b2-uninstrumented
-cd $SRC/cpython-3.8.0b2-uninstrumented
+cp -R $SRC/cpython-3.8.1/ $SRC/cpython-3.8.1-uninstrumented
+cd $SRC/cpython-3.8.1-uninstrumented
CFLAGS="" CXXFLAGS="" ./configure --prefix=$CPYTHON_UNINSTRUMENTED_INSTALL_PATH
CFLAGS="" CXXFLAGS="" make -j$(nproc)
CFLAGS="" CXXFLAGS="" make install
# Compile instrumented CPython
-cd $SRC/cpython-3.8.0b2/
+cd $SRC/cpython-3.8.1/
cp $SRC/oss-fuzz-fuzzers/pillow/python_coverage.h Python/
# Patch the interpreter to record code coverage
@@ -102,8 +102,8 @@ cd $SRC/pillow
CFLAGS="" CXXFLAGS="" ./setup.py build_ext --inplace >build.sh
grep "^\(gcc\|x86_64-linux-gnu-gcc\|clang\) " build.sh | sed 's/^\(gcc\|x86_64-linux-gnu-gcc\|clang\) /$CC $CFLAGS /g' | sed 's/-DPILLOW_VERSION="\([^"]\+\)"/-DPILLOW_VERSION="\\"\1\\""/g' >build2.sh
bash build2.sh
-find
cp -R $SRC/pillow $OUT/
cp /usr/lib/x86_64-linux-gnu/libjpeg.so.8 $OUT/
cp /usr/lib/x86_64-linux-gnu/libtiff.so.5 $OUT/
cp /usr/lib/x86_64-linux-gnu/libjbig.so.0 $OUT/
+cp $SRC/oss-fuzz-fuzzers/pillow/corpus.zip $OUT/fuzzer-loadimg_seed_corpus.zip
diff --git a/projects/pillow/project.yaml b/projects/pillow/project.yaml
index a1907cbf3..f6041e904 100644
--- a/projects/pillow/project.yaml
+++ b/projects/pillow/project.yaml
@@ -7,3 +7,5 @@ sanitizers:
- undefined
architectures:
- x86_64
+fuzzing_engines:
+ - libfuzzer