0
0
mirror of https://github.com/OpenVPN/openvpn.git synced 2024-09-20 03:52:28 +02:00

Add undefined and abort on error to clang sanitize builds

The -fno-sanitize-recover=all flag ensures that for all errors we actually
abort the tests in the automated testing and not just print some errors in red
that nobody sees. Also add the undefined tests to catch more bugs.

For libreSSL we do not add the udefined behaviour as we have (even with the
latest LibreSSL version) an undefined behaviour in LibreSSL itself.

Change-Id: I204b396dea9f22d68e8e091d181a85ffebde4c17
Acked-by: Frank Lichtenheld <frank@lichtenheld.com>
Message-Id: <20231022105756.21080-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg27278.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
Arne Schwabe 2023-10-22 12:57:56 +02:00 committed by Gert Doering
parent df7beea404
commit 44d5cd038c

View File

@ -186,7 +186,7 @@ jobs:
- name: autoconf - name: autoconf
run: autoreconf -fvi run: autoreconf -fvi
- name: configure - name: configure
run: CFLAGS="-fsanitize=address -fno-omit-frame-pointer -O2" CC=clang ./configure --with-crypto-library=${{matrix.ssllib}} run: CFLAGS="-fsanitize=address,undefined -fno-sanitize-recover=all -fno-omit-frame-pointer -O2" CC=clang ./configure --with-crypto-library=${{matrix.ssllib}}
- name: make all - name: make all
run: make -j3 run: make -j3
- name: make check - name: make check
@ -201,8 +201,8 @@ jobs:
os: [macos-11, macos-12, macos-13] os: [macos-11, macos-12, macos-13]
include: include:
- build: asan - build: asan
cflags: "-fsanitize=address -fno-optimize-sibling-calls -fsanitize-address-use-after-scope -fno-omit-frame-pointer -g -O1" cflags: "-fsanitize=address,undefined -fno-sanitize-recover=all -fno-optimize-sibling-calls -fsanitize-address-use-after-scope -fno-omit-frame-pointer -g -O1"
ldflags: -fsanitize=address ldflags: -fsanitize=address,undefined -fno-sanitize-recover=all
# Our build system ignores LDFLAGS for plugins # Our build system ignores LDFLAGS for plugins
configureflags: --disable-plugin-auth-pam --disable-plugin-down-root configureflags: --disable-plugin-auth-pam --disable-plugin-down-root
- build: normal - build: normal
@ -300,8 +300,8 @@ jobs:
configureflags: ["--with-openssl-engine=no"] configureflags: ["--with-openssl-engine=no"]
include: include:
- build: asan - build: asan
cflags: "-fsanitize=address -fno-optimize-sibling-calls -fsanitize-address-use-after-scope -fno-omit-frame-pointer -g -O1" cflags: "-fsanitize=address -fno-sanitize-recover=all -fno-optimize-sibling-calls -fsanitize-address-use-after-scope -fno-omit-frame-pointer -g -O1"
ldflags: -fsanitize=address ldflags: -fsanitize=address -fno-sanitize-recover=all
cc: clang cc: clang
- build: normal - build: normal
cflags: "-O2 -g" cflags: "-O2 -g"