mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 03:29:47 +08:00
PR28542, Undefined behaviours in readelf.c
PR 28542 * readelf.c (dump_relocations): Check that section headers have been read before attempting to access section name. (print_dynamic_symbol): Likewise. (process_mips_specific): Delete dead code.
This commit is contained in:
@ -1934,7 +1934,8 @@ dump_relocations (Filedata * filedata,
|
||||
|
||||
if (ELF_ST_TYPE (psym->st_info) == STT_SECTION)
|
||||
{
|
||||
if (psym->st_shndx < filedata->file_header.e_shnum)
|
||||
if (psym->st_shndx < filedata->file_header.e_shnum
|
||||
&& filedata->section_headers != NULL)
|
||||
sec_name = section_name_print (filedata,
|
||||
filedata->section_headers
|
||||
+ psym->st_shndx);
|
||||
@ -12861,6 +12862,7 @@ print_dynamic_symbol (Filedata *filedata, unsigned long si,
|
||||
|
||||
if (ELF_ST_TYPE (psym->st_info) == STT_SECTION
|
||||
&& psym->st_shndx < filedata->file_header.e_shnum
|
||||
&& filedata->section_headers != NULL
|
||||
&& psym->st_name == 0)
|
||||
{
|
||||
is_valid
|
||||
@ -18262,7 +18264,6 @@ process_mips_specific (Filedata * filedata)
|
||||
Elf_External_Options * eopt;
|
||||
size_t offset;
|
||||
int cnt;
|
||||
sect = filedata->section_headers;
|
||||
|
||||
/* Find the section header so that we get the size. */
|
||||
sect = find_section_by_type (filedata, SHT_MIPS_OPTIONS);
|
||||
|
Reference in New Issue
Block a user