[binutils-gdb] ubsan: undefined shift in frag_align_code
Alan Modra
amodra@sourceware.org
Thu Jun 2 09:06:03 GMT 2022
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e0ad09cfa5f0672ee917de2c56a27427e6908220
commit e0ad09cfa5f0672ee917de2c56a27427e6908220
Author: Alan Modra <amodra@gmail.com>
Date: Thu Jun 2 16:10:30 2022 +0930
ubsan: undefined shift in frag_align_code
* frags.c (MAX_MEM_FOR_RS_ALIGN_CODE): Avoid signed integer
overflow.
Diff:
---
gas/frags.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
More information about the Binutils-cvs
mailing list