[newlib 05/22] Fix undefined behavior: left-shifting into the sign bit.

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Jun 22 08:24:28 UTC 2022


From: Konstantin Belousov <kib at FreeBSD.org>

Reviewed by:	dim, markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D22898
---
 newlib/libc/sys/rtems/include/sys/bitset.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/newlib/libc/sys/rtems/include/sys/bitset.h b/newlib/libc/sys/rtems/include/sys/bitset.h
index a1fd8b316..9ff18f4f3 100644
--- a/newlib/libc/sys/rtems/include/sys/bitset.h
+++ b/newlib/libc/sys/rtems/include/sys/bitset.h
@@ -44,7 +44,7 @@
 #define	__constexpr_cond(expr)	(__builtin_constant_p((expr)) && (expr))
 
 #define	__bitset_mask(_s, n)						\
-	(1L << (__constexpr_cond(__bitset_words((_s)) == 1) ?		\
+	(1UL << (__constexpr_cond(__bitset_words((_s)) == 1) ?		\
 	    (__size_t)(n) : ((n) % _BITSET_BITS)))
 
 #define	__bitset_word(_s, n)						\
-- 
2.35.3



More information about the devel mailing list