summaryrefslogtreecommitdiff
path: root/.travis/fuzz-linux-asan
diff options
context:
space:
mode:
authornicoo <nicoo@debian.org>2020-02-23 15:31:23 +0100
committerNicolas Braud-Santoni <nicolas@braud-santoni.eu>2020-02-23 15:34:39 +0100
commit399de849155d9d77d1a5b325afa4b75550c55fb4 (patch)
tree7a04c6a11d4a92e12e0dfa5c3d6471ebd74af4dd /.travis/fuzz-linux-asan
parent28215e6c161c70cb1bcae7d01195fefcffb09d32 (diff)
parentc923f422b1e455bdd8ec3bdb10d005e3bfbacfe0 (diff)
Update upstream source from tag 'upstream/1.3.1'
Update to upstream version '1.3.1' with Debian dir 96d0ec6cfbe8efa2e15111ccc5e79c78bd725385
Diffstat (limited to '.travis/fuzz-linux-asan')
-rw-r--r--.travis/fuzz-linux-asan58
1 files changed, 58 insertions, 0 deletions
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 @@
1#!/bin/sh -eux
2
3${CC} --version
4
5FAKEROOT=/fakeroot
6sudo mkdir ${FAKEROOT}
7sudo chmod 755 ${FAKEROOT}
8
9# Build and install libcbor.
10git clone git://github.com/pjk/libcbor
11cd libcbor
12patch -p0 < ../fuzz/README
13mkdir build
14cd build
15cmake -DCMAKE_C_FLAGS_DEBUG="-g2 -fno-omit-frame-pointer" \
16 -DCMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=Debug \
17 -DCMAKE_INSTALL_PREFIX=${FAKEROOT} -DSANITIZE=ON \
18 -DCMAKE_INSTALL_LIBDIR=lib ..
19make
20sudo make install
21cd ../..
22
23# Build and install OpenSSL 1.1.1b.
24git clone git://github.com/openssl/openssl
25cd openssl
26git checkout OpenSSL_1_1_1b
27./Configure linux-x86_64-clang enable-asan --prefix=${FAKEROOT} \
28 --openssldir=${FAKEROOT}/openssl
29make clean
30make
31sudo make install_sw
32cd ..
33
34# Build libfido2.
35mkdir build
36cd build
37export PKG_CONFIG_PATH=/fakeroot/lib/pkgconfig
38cmake -DFUZZ=1 -DLIBFUZZER=1 -DASAN=1 -DUBSAN=1 -DCMAKE_C_COMPILER=clang \
39 -DCRYPTO_INCLUDE_DIRS=${FAKEROOT}/include \
40 -DCRYPTO_LIBRARY_DIRS=${FAKEROOT}/lib \
41 -DCBOR_INCLUDE_DIRS=${FAKEROOT}/include \
42 -DCBOR_LIBRARY_DIRS=${FAKEROOT}/lib \
43 -DCMAKE_BUILD_TYPE=Debug ..
44make
45
46# Fuzz with ASAN.
47mkdir corpus
48tar -C corpus -zxf ../fuzz/corpus.tgz
49fuzz/fuzz_cred -use_value_profile=1 -reload=30 -print_pcs=1 \
50 -print_funcs=30 -timeout=10 -max_len=17408 -runs=1 corpus/fuzz_cred
51fuzz/fuzz_assert -use_value_profile=1 -reload=30 -print_pcs=1 \
52 -print_funcs=30 -timeout=10 -max_len=17408 -runs=1 corpus/fuzz_assert
53fuzz/fuzz_credman -use_value_profile=1 -reload=30 -print_pcs=1 \
54 -print_funcs=30 -timeout=10 -max_len=17408 -runs=1 corpus/fuzz_credman
55fuzz/fuzz_mgmt -use_value_profile=1 -reload=30 -print_pcs=1 \
56 -print_funcs=30 -timeout=10 -max_len=17408 -runs=1 corpus/fuzz_mgmt
57fuzz/fuzz_bio -use_value_profile=1 -reload=30 -print_pcs=1 \
58 -print_funcs=30 -timeout=10 -max_len=17408 -runs=1 corpus/fuzz_bio