]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Switch to compile time check for ASAN
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 6 Nov 2019 17:09:15 +0000 (11:09 -0600)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 6 Nov 2019 17:09:15 +0000 (11:09 -0600)
src/include/build.h
src/lib/server/dependency.c
src/lib/util/dl.c

index 7a8ddbb6bcda42188b6c96eb1b1511577027bb0f..a068b3aa5f36af9875f5808185c3285ce4213c1c 100644 (file)
@@ -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
  */
index e450c6e10c2ca4ae354d6ce550dc8ba4b7515dfa..0e410ec0b8d0ebaadce8b54bc46549969b6983eb 100644 (file)
@@ -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
index ba68631776b2d0d3d8cf4001fa5548d217c4db8a..448407c2f001bf7f100ccfcbf64f97201b708b4c 100644 (file)
@@ -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
 
        /*