PR26462 UBSAN: reloc.c:473 shift exponent 4294967295

PR 26462
	* reloc.c (bfd_check_overflow): Return early if zero bitsize.
This commit is contained in:
Alan Modra 2020-08-27 13:25:31 +09:30
parent 2ac865acf0
commit cd570d497e
2 changed files with 8 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2020-08-27 Alan Modra <amodra@gmail.com>
PR 26462
* reloc.c (bfd_check_overflow): Return early if zero bitsize.
2020-08-27 Alan Modra <amodra@gmail.com>
* elf32-arm.c (elf32_arm_final_link_relocate): Don't segfault

View File

@ -466,6 +466,9 @@ bfd_check_overflow (enum complain_overflow how,
bfd_vma fieldmask, addrmask, signmask, ss, a;
bfd_reloc_status_type flag = bfd_reloc_ok;
if (bitsize == 0)
return flag;
/* Note: BITSIZE should always be <= ADDRSIZE, but in case it's not,
we'll be permissive: extra bits in the field mask will
automatically extend the address mask for purposes of the