From: Arran Cudbard-Bell Date: Wed, 6 Nov 2019 17:09:15 +0000 (-0600) Subject: Switch to compile time check for ASAN X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=03a8f1d1617ee1e3d979645bef46d7315c450565;p=thirdparty%2Ffreeradius-server.git Switch to compile time check for ASAN --- diff --git a/src/include/build.h b/src/include/build.h index 7a8ddbb6bcd..a068b3aa5f3 100644 --- a/src/include/build.h +++ b/src/include/build.h @@ -37,6 +37,18 @@ extern "C" { # define WITH_VERIFY_PTR 1 #endif +/* + * GCC uses __SANITIZE_ADDRESS__, clang uses __has_feature, which + * GCC complains about. + */ +#ifndef __SANITIZE_ADDRESS__ +#ifdef __has_feature +#if __has_feature(address_sanitizer) +#define __SANITIZE_ADDRESS__ (1) +#endif +#endif +#endif + /* * The ubiquitous stringify macros */ diff --git a/src/lib/server/dependency.c b/src/lib/server/dependency.c index e450c6e10c2..0e410ec0b8d 100644 --- a/src/lib/server/dependency.c +++ b/src/lib/server/dependency.c @@ -522,18 +522,6 @@ void dependency_features_init(CONF_SECTION *cs) #endif ); -/* - * GCC uses __SANITIZE_ADDRESS__, clang uses __has_feature, which - * GCC complains about. - */ -#ifndef __SANITIZE_ADDRESS__ -#ifdef __has_feature -#if __has_feature(address_sanitizer) -#define __SANITIZE_ADDRESS__ (1) -#endif -#endif -#endif - dependency_feature_add(cs, "address-sanitizer", #ifdef __SANITIZE_ADDRESS__ true diff --git a/src/lib/util/dl.c b/src/lib/util/dl.c index ba68631776b..448407c2f00 100644 --- a/src/lib/util/dl.c +++ b/src/lib/util/dl.c @@ -474,11 +474,9 @@ dl_t *dl_by_name(dl_loader_t *dl_loader, char const *name, void *uctx, bool uctx * * May help resolve issues with symbol conflicts. */ -#ifdef RTLD_DEEPBIND - if (fr_get_lsan_state() != 1) { - flags |= RTLD_DEEPBIND; - fr_strerror(); /* clear error buffer */ - } +#if defined(RTLD_DEEPBIND) && !defined(__SANITIZE_ADDRESS__) + flags |= RTLD_DEEPBIND; + fr_strerror(); /* clear error buffer */ #endif /*