mirror of
https://github.com/rsyslog/rsyslog.git
synced 2026-08-24 19:24:14 +02:00
CI: run SAN, UBSAN under Ubuntu 24.04 for more modern tooling
- core: suppress pointer mismatch for UBSAN The supression is just an interim solution until the pointer issue has been fully analyzed and aligned (or considered OK w/ reasoning). - suppress an issue in libcivetweb
This commit is contained in:
parent
c0de6aeafc
commit
f91adbefc4
8
.github/workflows/run_checks.yml
vendored
8
.github/workflows/run_checks.yml
vendored
@ -155,9 +155,12 @@ jobs:
|
||||
export ABORT_ALL_ON_TEST_FAIL='YES'
|
||||
export VERBOSE=1
|
||||
;;
|
||||
'ubuntu_22_san')
|
||||
'ubuntu_24_san')
|
||||
# TODO: remove the -fno-sanitize=function once the root issue is solved. We use
|
||||
# it in order to migrate to the newer sanitizer checker which otherwise
|
||||
# would be much delayed. That was the prime reason we did not upgrade before.
|
||||
export CI_SANITIZE_BLACKLIST='tests/asan.supp'
|
||||
export RSYSLOG_DEV_CONTAINER='rsyslog/rsyslog_dev_base_ubuntu:22.04'
|
||||
export RSYSLOG_DEV_CONTAINER='rsyslog/rsyslog_dev_base_ubuntu:24.04'
|
||||
export CC='clang'
|
||||
export RSYSLOG_CONFIGURE_OPTIONS_EXTRA="--disable-elasticsearch-tests \
|
||||
--disable-libfaketime --without-valgrind-testbench --disable-valgrind \
|
||||
@ -167,6 +170,7 @@ jobs:
|
||||
export CFLAGS="-fstack-protector -D_FORTIFY_SOURCE=2 \
|
||||
-fsanitize=address,undefined,nullability,unsigned-integer-overflow \
|
||||
-fno-sanitize-recover=undefined,nullability,unsigned-integer-overflow \
|
||||
-fno-sanitize=function \
|
||||
-g -O3 -fno-omit-frame-pointer -fno-color-diagnostics"
|
||||
export LSAN_OPTIONS='detect_leaks=0'
|
||||
export UBSAN_OPTIONS='print_stacktrace=1'
|
||||
|
||||
@ -1154,7 +1154,10 @@ finalize_it:
|
||||
* a pointer to the objects interface.
|
||||
* rgerhards, 2008-02-29
|
||||
*/
|
||||
static rsRetVal UseObj(const char *srcFile, uchar *pObjName, uchar *pObjFile, interface_t *pIf) {
|
||||
static ATTR_NO_SANITIZE_UNDEFINED rsRetVal UseObj(const char *srcFile,
|
||||
uchar *pObjName,
|
||||
uchar *pObjFile,
|
||||
interface_t *pIf) {
|
||||
DEFiRet;
|
||||
objInfo_t *pObjInfo;
|
||||
|
||||
@ -1201,6 +1204,9 @@ static rsRetVal UseObj(const char *srcFile, uchar *pObjName, uchar *pObjFile, in
|
||||
module.Use(srcFile, pObjInfo->pModInfo); /* increase refcount */
|
||||
}
|
||||
|
||||
// TODO: fix interface pointer type, remove ATTR_NO_SANITIZE_UNDEFINED above
|
||||
// The supression is just an interim solution until the pointer issue
|
||||
// has been fully analyzed and aligned (or considered OK w/ reasoning).
|
||||
CHKiRet(pObjInfo->QueryIF(pIf));
|
||||
pIf->ifIsLoaded = 1; /* we are happy */
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user