ubsan: undefined shift in mach-o.c

This one was logically wrong too.  If file_ptr was 64 bits, then -1U
is extended to 0x00000000ffffffff, probably not what was intended
here.

	* mach-o.c (FILE_ALIGN): Correct expression.
This commit is contained in:
Alan Modra
2021-11-06 18:31:38 +10:30
parent dd207c1302
commit e8f81980ce

View File

@ -36,7 +36,7 @@
#define bfd_mach_o_mkobject bfd_mach_o_gen_mkobject
#define FILE_ALIGN(off, algn) \
(((off) + ((file_ptr) 1 << (algn)) - 1) & ((file_ptr) -1U << (algn)))
(((off) + ((ufile_ptr) 1 << (algn)) - 1) & ((ufile_ptr) -1 << (algn)))
static bool
bfd_mach_o_read_dyld_content (bfd *abfd, bfd_mach_o_dyld_info_command *cmd);