From 5f3bd1e37d519cf54a0957e305653dac7146dde8 Mon Sep 17 00:00:00 2001 From: Harish Mahendrakar Date: Mon, 26 Aug 2019 12:59:38 -0700 Subject: [PATCH] fuzzer: Create ossfuzz.sh to build with oss-fuzz fuzzer/ossfuzz.sh added to build libavc fuzzer target in oss-fuzz. Bug: 140057362 Test: Build with oss-fuzz Change-Id: I02265836d68cd28021ba7498fbf49b287efa3e41 --- fuzzer/ossfuzz.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 fuzzer/ossfuzz.sh diff --git a/fuzzer/ossfuzz.sh b/fuzzer/ossfuzz.sh new file mode 100755 index 0000000..e5bed08 --- /dev/null +++ b/fuzzer/ossfuzz.sh @@ -0,0 +1,44 @@ +#!/bin/bash -eu +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ +# Ensure SRC and WORK are set +test "${SRC}" != "" || exit 1 +test "${WORK}" != "" || exit 1 +test "${OUT}" != "" || exit 1 + +# Build libavc +build_dir=$WORK/build +rm -rf ${build_dir} +mkdir -p ${build_dir} +pushd ${build_dir} + +cmake $SRC/libavc +make -j$(nproc) +popd + +# build fuzzers +$CXX $CXXFLAGS -std=c++11 \ + -I$SRC/libavc \ + -I$SRC/libavc/common \ + -I$SRC/libavc/decoder \ + -I${build_dir} \ + -Wl,--start-group \ + $LIB_FUZZING_ENGINE \ + $SRC/libavc/fuzzer/avc_dec_fuzzer.cpp -o $OUT/avc_dec_fuzzer \ + ${build_dir}/libavcdec.a \ + -Wl,--end-group + +cp $SRC/avc_dec_fuzzer_seed_corpus.zip $OUT/avc_dec_fuzzer_seed_corpus.zip +cp $SRC/libavc/fuzzer/avc_dec_fuzzer.dict $OUT/avcdec_fuzzer.dict