From c923f422b1e455bdd8ec3bdb10d005e3bfbacfe0 Mon Sep 17 00:00:00 2001 From: nicoo Date: Sun, 23 Feb 2020 15:31:16 +0100 Subject: New upstream version 1.3.1 --- .travis/fuzz-linux-asan | 58 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .travis/fuzz-linux-asan (limited to '.travis/fuzz-linux-asan') diff --git a/.travis/fuzz-linux-asan b/.travis/fuzz-linux-asan new file mode 100644 index 0000000..0a0aebb --- /dev/null +++ b/.travis/fuzz-linux-asan @@ -0,0 +1,58 @@ +#!/bin/sh -eux + +${CC} --version + +FAKEROOT=/fakeroot +sudo mkdir ${FAKEROOT} +sudo chmod 755 ${FAKEROOT} + +# Build and install libcbor. +git clone git://github.com/pjk/libcbor +cd libcbor +patch -p0 < ../fuzz/README +mkdir build +cd build +cmake -DCMAKE_C_FLAGS_DEBUG="-g2 -fno-omit-frame-pointer" \ + -DCMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_INSTALL_PREFIX=${FAKEROOT} -DSANITIZE=ON \ + -DCMAKE_INSTALL_LIBDIR=lib .. +make +sudo make install +cd ../.. + +# Build and install OpenSSL 1.1.1b. +git clone git://github.com/openssl/openssl +cd openssl +git checkout OpenSSL_1_1_1b +./Configure linux-x86_64-clang enable-asan --prefix=${FAKEROOT} \ + --openssldir=${FAKEROOT}/openssl +make clean +make +sudo make install_sw +cd .. + +# Build libfido2. +mkdir build +cd build +export PKG_CONFIG_PATH=/fakeroot/lib/pkgconfig +cmake -DFUZZ=1 -DLIBFUZZER=1 -DASAN=1 -DUBSAN=1 -DCMAKE_C_COMPILER=clang \ + -DCRYPTO_INCLUDE_DIRS=${FAKEROOT}/include \ + -DCRYPTO_LIBRARY_DIRS=${FAKEROOT}/lib \ + -DCBOR_INCLUDE_DIRS=${FAKEROOT}/include \ + -DCBOR_LIBRARY_DIRS=${FAKEROOT}/lib \ + -DCMAKE_BUILD_TYPE=Debug .. +make + +# Fuzz with ASAN. +mkdir corpus +tar -C corpus -zxf ../fuzz/corpus.tgz +fuzz/fuzz_cred -use_value_profile=1 -reload=30 -print_pcs=1 \ + -print_funcs=30 -timeout=10 -max_len=17408 -runs=1 corpus/fuzz_cred +fuzz/fuzz_assert -use_value_profile=1 -reload=30 -print_pcs=1 \ + -print_funcs=30 -timeout=10 -max_len=17408 -runs=1 corpus/fuzz_assert +fuzz/fuzz_credman -use_value_profile=1 -reload=30 -print_pcs=1 \ + -print_funcs=30 -timeout=10 -max_len=17408 -runs=1 corpus/fuzz_credman +fuzz/fuzz_mgmt -use_value_profile=1 -reload=30 -print_pcs=1 \ + -print_funcs=30 -timeout=10 -max_len=17408 -runs=1 corpus/fuzz_mgmt +fuzz/fuzz_bio -use_value_profile=1 -reload=30 -print_pcs=1 \ + -print_funcs=30 -timeout=10 -max_len=17408 -runs=1 corpus/fuzz_bio -- cgit v1.2.3