From e8f81980cee2d21605e60414a025f8b795147d9f Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 6 Nov 2021 18:31:38 +1030 Subject: [PATCH] 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. --- bfd/mach-o.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bfd/mach-o.c b/bfd/mach-o.c index 1f0d4700811..d90ea3c28ce 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -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); -- 2.30.2