From 3c91a1e5fda8b3e03348dc533dcf292a598f1f77 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Fri, 29 Nov 2024 16:08:22 -0500 Subject: [PATCH] Fix ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS for MSAN There's no case for when RUBY_MSAN_ENABLED, so the macro ends up doing nothing when it should instead have __attribute__((__no_sanitize__("memory"))). --- internal/sanitizers.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/sanitizers.h b/internal/sanitizers.h index 1cab12fb52..0a830ae8f9 100644 --- a/internal/sanitizers.h +++ b/internal/sanitizers.h @@ -39,6 +39,9 @@ #elif defined(RUBY_ASAN_ENABLED) # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \ __attribute__((__no_sanitize__("address"), __noinline__)) x +#elif defined(RUBY_MSAN_ENABLED) + # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \ + __attribute__((__no_sanitize__("memory"), __noinline__)) x #elif defined(NO_SANITIZE_ADDRESS) # define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \ NO_SANITIZE_ADDRESS(NOINLINE(x))