diff options
author | Paul Cercueil <paul@crapouillou.net> | 2025-07-22 23:45:40 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2025-07-23 11:12:05 +0200 |
commit | 4ac96b9da4ce6f4e3847cc356d58e1a929665858 (patch) | |
tree | 9709523617f7a47b0ae40a1106335064d330aa7c | |
parent | 75891e8fed472961573a1f62204f59479d1c4eab (diff) | |
download | newlib-4ac96b9da4ce6f4e3847cc356d58e1a929665858.zip newlib-4ac96b9da4ce6f4e3847cc356d58e1a929665858.tar.gz newlib-4ac96b9da4ce6f4e3847cc356d58e1a929665858.tar.bz2 |
sys/cdefs.h: Protect parameters to __builtin_is_aligned()
The macro was not protecting properly its first parameter, which caused
it to silently return an invalid value when passing a composed
parameter, ie.
__builtin_is_aligned(src | dst | len, 32);
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
-rw-r--r-- | newlib/libc/include/sys/cdefs.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/newlib/libc/include/sys/cdefs.h b/newlib/libc/include/sys/cdefs.h index d13a92a..20b3553 100644 --- a/newlib/libc/include/sys/cdefs.h +++ b/newlib/libc/include/sys/cdefs.h @@ -736,7 +736,7 @@ /* Provide fallback versions for other compilers (GCC/Clang < 10): */ #if !__has_builtin(__builtin_is_aligned) #define __builtin_is_aligned(x, align) \ - (((__uintptr_t)x & ((align) - 1)) == 0) + (((__uintptr_t)(x) & ((align) - 1)) == 0) #endif #if !__has_builtin(__builtin_align_up) #define __builtin_align_up(x, align) \ |