mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 04:24:43 +00:00
elfedit: segv with --enable-x86-feature
PR 33024 PR 33025 * elfedit.c (update_gnu_property): Sanity check program headers.
This commit is contained in:
@@ -105,7 +105,18 @@ update_gnu_property (const char *file_name, FILE *file)
|
||||
if (map == MAP_FAILED)
|
||||
{
|
||||
error (_("%s: mmap () failed\n"), file_name);
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((elf_header.e_ident[EI_CLASS] == ELFCLASS32
|
||||
? sizeof (Elf32_External_Phdr)
|
||||
: sizeof (Elf64_External_Phdr)) != elf_header.e_phentsize
|
||||
|| elf_header.e_phoff > (size_t) st_buf.st_size
|
||||
|| (elf_header.e_phnum * (size_t) elf_header.e_phentsize
|
||||
> st_buf.st_size - elf_header.e_phoff))
|
||||
{
|
||||
error (_("%s: can't read program headers\n"), file_name);
|
||||
return 1;
|
||||
}
|
||||
|
||||
phdrs = xmalloc (elf_header.e_phnum * sizeof (*phdrs));
|
||||
|
||||
Reference in New Issue
Block a user