ubsan: undefined shift in frag_align_code
Alan Modra
amodra@gmail.com
Thu Jun 2 07:38:27 GMT 2022
* frags.c (MAX_MEM_FOR_RS_ALIGN_CODE): Avoid signed integer
overflow.
diff --git a/gas/frags.c b/gas/frags.c
index f5afe1a49b5..8e88496f37c 100644
--- a/gas/frags.c
+++ b/gas/frags.c
@@ -367,7 +367,7 @@ frag_align_pattern (int alignment, const char *fill_pattern,
# ifndef HANDLE_ALIGN
# define MAX_MEM_FOR_RS_ALIGN_CODE 1
# else
-# define MAX_MEM_FOR_RS_ALIGN_CODE ((1 << alignment) - 1)
+# define MAX_MEM_FOR_RS_ALIGN_CODE (((size_t) 1 << alignment) - 1)
# endif
#endif
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list