aboutsummaryrefslogtreecommitdiff
path: root/projects/njs
diff options
context:
space:
mode:
authorMax Moroz <mmoroz@chromium.org>2019-06-03 09:06:53 -0700
committerGitHub <noreply@github.com>2019-06-03 09:06:53 -0700
commit2317c8aacb8d0c2196328267a12b917379a5e910 (patch)
treeba2eaab28512647349f9dd7c68bf57be3db9a0ac /projects/njs
parentc9fd3f45db4e9e878b6a23232c53a6c6c7fbfc15 (diff)
downloadoss-fuzz-2317c8aacb8d0c2196328267a12b917379a5e910.tar.gz
[njs] Build pcre dependency manually and enable MSan (#2481). (#2484)
Diffstat (limited to 'projects/njs')
-rw-r--r--projects/njs/Dockerfile4
-rwxr-xr-xprojects/njs/build.sh15
-rw-r--r--projects/njs/project.yaml2
3 files changed, 16 insertions, 5 deletions
diff --git a/projects/njs/Dockerfile b/projects/njs/Dockerfile
index defa36240..41f2940a4 100644
--- a/projects/njs/Dockerfile
+++ b/projects/njs/Dockerfile
@@ -16,8 +16,10 @@
FROM gcr.io/oss-fuzz-base/base-builder
MAINTAINER mmoroz@chromium.org
-RUN apt-get update && apt-get install -y make autoconf automake libtool mercurial libpcre3-dev libreadline-dev
+RUN apt-get update && apt-get install -y make autoconf automake libtool \
+ mercurial libpcre3-dev libreadline-dev subversion
RUN hg clone http://hg.nginx.org/njs
+RUN svn co svn://vcs.exim.org/pcre/code/trunk pcre
WORKDIR njs
COPY build.sh njs_process_script_fuzzer.c $SRC/
diff --git a/projects/njs/build.sh b/projects/njs/build.sh
index a9539c97b..93f05790f 100755
--- a/projects/njs/build.sh
+++ b/projects/njs/build.sh
@@ -15,6 +15,14 @@
#
################################################################################
+# Build pcre dependency to be linked statically.
+pushd $SRC/pcre
+./autogen.sh
+./configure
+make -j$(nproc) clean
+make -j$(nproc) all
+popd
+
# build project
rm -rf build
@@ -26,8 +34,10 @@ make njs
$CC $CFLAGS -Inxt -Ibuild -Injs -c \
$SRC/njs_process_script_fuzzer.c -o build/njs_process_script_fuzzer.o
-$CXX $CXXFLAGS build/njs_process_script_fuzzer.o -o $OUT/njs_process_script_fuzzer \
- $LIB_FUZZING_ENGINE build/libnxt.a build/libnjs.a -lm -lpcre -lreadline
+$CXX $CXXFLAGS build/njs_process_script_fuzzer.o \
+ -o $OUT/njs_process_script_fuzzer \
+ $LIB_FUZZING_ENGINE build/libnxt.a build/libnjs.a \
+ $SRC/pcre/.libs/libpcre.a -lm -lreadline
SEED_CORPUS_PATH=$OUT/njs_process_script_fuzzer_seed_corpus
mkdir -p $SEED_CORPUS_PATH
@@ -42,4 +52,3 @@ set -x
zip -q $SEED_CORPUS_PATH.zip $SEED_CORPUS_PATH
rm -rf $SEED_CORPUS_PATH
-
diff --git a/projects/njs/project.yaml b/projects/njs/project.yaml
index f2a083fda..8bb8e9f51 100644
--- a/projects/njs/project.yaml
+++ b/projects/njs/project.yaml
@@ -2,5 +2,5 @@ homepage: "https://nginx.org/en/docs/njs/"
primary_contact: "mmoroz@google.com"
sanitizers:
- address
+ - memory
- undefined
-