aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Deri <lucaderi@users.noreply.github.com>2020-01-23 18:36:40 +0100
committerGitHub <noreply@github.com>2020-01-23 18:36:40 +0100
commitcedbf3b636ebd318aa38aeb08a588fbf8a4eb096 (patch)
treeda71485e5ea1dc6d68f57fa9708fbc7883f6f612
parent5f6fd8d2a57d5f004e9661b7ce658aff7dc6ece0 (diff)
parentcbb755666eb719731d29fa6860948638c1e00478 (diff)
Merge pull request #832 from catenacyber/travisfuzz
Adds fuzz targets build and run to travis
-rw-r--r--.travis.yml14
-rwxr-xr-xtests/do.sh4
2 files changed, 17 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index 4de6f474d..57b347449 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -75,6 +75,18 @@ matrix:
env:
- MATRIX_EVAL="CC=clang-7 && CXX=clang++-7"
+ - name: fuzza
+ env: CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize=fuzzer-no-link" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize=fuzzer-no-link" LDFLAGS="-fsanitize=address" QA_FUZZ=asan
+ compiler: clang
+ os: linux
+ - name: fuzzm
+ env: CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory -fsanitize=fuzzer-no-link" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory -fsanitize=fuzzer-no-link" LDFLAGS="-fsanitize=memory" QA_FUZZ=msan
+ compiler: clang
+ os: linux
+ - name: fuzzu
+ env: CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined -fsanitize=fuzzer-no-link" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined -fno-sanitize-recover=undefined,integer -fsanitize=fuzzer-no-link" LDFLAGS="-fsanitize=undefined" QA_FUZZ=ubsan
+ compiler: clang
+ os: linux
before_install:
@@ -85,7 +97,7 @@ before_script:
# - lcov --directory . --zerocounters
script:
- - ./configure
+ - if [ -n "$QA_FUZZ" ]; then ./configure --enable-fuzztargets ; else ./configure ; fi
- make
#after_script:
diff --git a/tests/do.sh b/tests/do.sh
index 40b93e063..5c7ea452e 100755
--- a/tests/do.sh
+++ b/tests/do.sh
@@ -13,6 +13,10 @@ build_results() {
CMD="$READER -q -i pcap/$f -w result/$f.out -v 2"
$CMD
fi
+ # test fuzz target built with sanitizer on input from corpus
+ if [ -f ../fuzz/fuzz_ndpi_reader ]; then
+ ../fuzz/fuzz_ndpi_reader pcap/$f
+ fi
done
}