forked from Imagelibrary/binutils-gdb
reloc_upper_bound size calculations
Section reloc_count is an unsigned int. Adding one for a NULL terminator to an array of arelent pointers can wrap the count to zero. Avoid that by doing the addition as longs. * coffgen.c (coff_get_reloc_upper_bound): Don't overflow unsigned int expression. * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise. * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise. * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise. * vms-alpha.c (alpha_vms_get_reloc_upper_bound): Likewise.
This commit is contained in:
@@ -1996,7 +1996,7 @@ coff_get_reloc_upper_bound (bfd *abfd, sec_ptr asect)
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
return (asect->reloc_count + 1) * sizeof (arelent *);
|
||||
return (asect->reloc_count + 1L) * sizeof (arelent *);
|
||||
}
|
||||
|
||||
asymbol *
|
||||
|
||||
Reference in New Issue
Block a user