Fix an illegal memory access when an accessing a zer0-lengthverdef table.
PR 30285 * elf.c (_bfd_elf_slurp_version_tables): Fail if no version definitions are allocated.
This commit is contained in:
parent
f2f9bde5cd
commit
c22d38baef
2 changed files with 11 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2023-03-30 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR 30285
|
||||
* elf.c (_bfd_elf_slurp_version_tables): Fail if no version
|
||||
definitions are allocated.
|
||||
|
||||
2023-02-27 Felix Willgerodt <felix.willgerodt@intel.com>
|
||||
|
||||
* elf64-x86-64.c (elf_x86_64_grok_psinfo): Check for
|
||||
|
|
|
@ -9030,6 +9030,9 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
|
|||
bfd_set_error (bfd_error_file_too_big);
|
||||
goto error_return_verdef;
|
||||
}
|
||||
|
||||
if (amt == 0)
|
||||
goto error_return_verdef;
|
||||
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
|
||||
if (elf_tdata (abfd)->verdef == NULL)
|
||||
goto error_return_verdef;
|
||||
|
@ -9133,6 +9136,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
|
|||
bfd_set_error (bfd_error_file_too_big);
|
||||
goto error_return;
|
||||
}
|
||||
if (amt == 0)
|
||||
goto error_return;
|
||||
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
|
||||
if (elf_tdata (abfd)->verdef == NULL)
|
||||
goto error_return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue