From 67e5d49d8a995c6d3b8bf4177046271a7d4dd157 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 22 Feb 2016 14:07:58 -0500 Subject: Make clang asan work with FORTIFIED_SOURCE again. Short version: clang asan hates the glibc strcmp macro in bits/string2.h if you are passing it a constant string argument of length two or less. (I could be off by one here, but that's the basic idea.) Closes issue 14821. --- src/common/compat.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/common') diff --git a/src/common/compat.h b/src/common/compat.h index c7c468c754..66cc079259 100644 --- a/src/common/compat.h +++ b/src/common/compat.h @@ -42,6 +42,15 @@ #include #endif +#if defined(__has_feature) +# if __has_feature(address_sanitizer) +/* Some of the fancy glibc strcmp() macros include references to memory that + * clang rejects because it is off the end of a less-than-3. Clang hates this, + * even though those references never actually happen. */ +# undef strcmp +# endif +#endif + #include #include -- cgit v1.2.3-54-g00ecf