Replace reachable assertion with a test and return of NULL.
PR 22793 * readelf.c (find_section): Replace assertion with test and return of NULL. (find_section_by_address): Add test of section header table existance. (find_section_by_type): Likewise. (find_section_in_set): Likewise.
This commit is contained in:
parent
64e234d417
commit
68807c3cd6
@ -1,3 +1,13 @@
|
|||||||
|
2018-02-06 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
PR 22793
|
||||||
|
* readelf.c (find_section): Replace assertion with test and return
|
||||||
|
of NULL.
|
||||||
|
(find_section_by_address): Add test of section header table
|
||||||
|
existance.
|
||||||
|
(find_section_by_type): Likewise.
|
||||||
|
(find_section_in_set): Likewise.
|
||||||
|
|
||||||
2018-02-05 Maciej W. Rozycki <macro@mips.com>
|
2018-02-05 Maciej W. Rozycki <macro@mips.com>
|
||||||
|
|
||||||
* testsuite/binutils-all/mips/mips-reginfo.d: New test.
|
* testsuite/binutils-all/mips/mips-reginfo.d: New test.
|
||||||
|
@ -655,7 +655,8 @@ find_section (Filedata * filedata, const char * name)
|
|||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
assert (filedata->section_headers != NULL);
|
if (filedata->section_headers == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
for (i = 0; i < filedata->file_header.e_shnum; i++)
|
for (i = 0; i < filedata->file_header.e_shnum; i++)
|
||||||
if (streq (SECTION_NAME (filedata->section_headers + i), name))
|
if (streq (SECTION_NAME (filedata->section_headers + i), name))
|
||||||
@ -672,6 +673,9 @@ find_section_by_address (Filedata * filedata, bfd_vma addr)
|
|||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
if (filedata->section_headers == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
for (i = 0; i < filedata->file_header.e_shnum; i++)
|
for (i = 0; i < filedata->file_header.e_shnum; i++)
|
||||||
{
|
{
|
||||||
Elf_Internal_Shdr *sec = filedata->section_headers + i;
|
Elf_Internal_Shdr *sec = filedata->section_headers + i;
|
||||||
@ -688,6 +692,9 @@ find_section_by_type (Filedata * filedata, unsigned int type)
|
|||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
if (filedata->section_headers == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
for (i = 0; i < filedata->file_header.e_shnum; i++)
|
for (i = 0; i < filedata->file_header.e_shnum; i++)
|
||||||
{
|
{
|
||||||
Elf_Internal_Shdr *sec = filedata->section_headers + i;
|
Elf_Internal_Shdr *sec = filedata->section_headers + i;
|
||||||
@ -707,6 +714,9 @@ find_section_in_set (Filedata * filedata, const char * name, unsigned int * set)
|
|||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
if (filedata->section_headers == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
if (set != NULL)
|
if (set != NULL)
|
||||||
{
|
{
|
||||||
while ((i = *set++) > 0)
|
while ((i = *set++) > 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user