* elf.c (bfd_elf_string_from_elf_section): Return NULL on

invalid shstrndx.
	(bfd_elf_get_str_section): Likewise.
This commit is contained in:
Alan Modra 2007-05-14 04:15:53 +00:00
parent a1513dafcc
commit 74f2e02bf4
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2007-05-14 Alan Modra <amodra@bigpond.net.au>
* elf.c (bfd_elf_string_from_elf_section): Return NULL on
invalid shstrndx.
(bfd_elf_get_str_section): Likewise.
2007-05-12 Alan Modra <amodra@bigpond.net.au> 2007-05-12 Alan Modra <amodra@bigpond.net.au>
PR 4497 PR 4497

View File

@ -252,7 +252,9 @@ bfd_elf_get_str_section (bfd *abfd, unsigned int shindex)
bfd_size_type shstrtabsize; bfd_size_type shstrtabsize;
i_shdrp = elf_elfsections (abfd); i_shdrp = elf_elfsections (abfd);
if (i_shdrp == 0 || i_shdrp[shindex] == 0) if (i_shdrp == 0
|| shindex >= elf_numsections (abfd)
|| i_shdrp[shindex] == 0)
return NULL; return NULL;
shstrtab = i_shdrp[shindex]->contents; shstrtab = i_shdrp[shindex]->contents;
@ -291,6 +293,9 @@ bfd_elf_string_from_elf_section (bfd *abfd,
if (strindex == 0) if (strindex == 0)
return ""; return "";
if (elf_elfsections (abfd) == NULL || shindex >= elf_numsections (abfd))
return NULL;
hdr = elf_elfsections (abfd)[shindex]; hdr = elf_elfsections (abfd)[shindex];
if (hdr->contents == NULL if (hdr->contents == NULL