Also check that the group header's sh_info field is valid.

PR 20089
	* objcopy.c (group_signature): Fail if the input symbol table has
	not been loaded, or if the sh_info field of the group header is 0.
This commit is contained in:
Nick Clifton 2016-06-02 16:32:45 +01:00
parent bcc3a8bca1
commit c09ec62dde
2 changed files with 3 additions and 2 deletions

View File

@ -2,7 +2,7 @@
PR 20089 PR 20089
* objcopy.c (group_signature): Fail if the input symbol table has * objcopy.c (group_signature): Fail if the input symbol table has
not been loaded. not been loaded, or if the sh_info field of the group header is 0.
* dwarf.c (display_debug_frames): Do not display any * dwarf.c (display_debug_frames): Do not display any
interpretation if the block consists solely of DW__CFA_NOPs. interpretation if the block consists solely of DW__CFA_NOPs.

View File

@ -1139,7 +1139,8 @@ group_signature (asection *group)
Elf_Internal_Shdr *symhdr = elf_elfsections (abfd) [ghdr->sh_link]; Elf_Internal_Shdr *symhdr = elf_elfsections (abfd) [ghdr->sh_link];
if (symhdr->sh_type == SHT_SYMTAB if (symhdr->sh_type == SHT_SYMTAB
&& ghdr->sh_info < symhdr->sh_size / bed->s->sizeof_sym) && ghdr->sh_info > 0
&& ghdr->sh_info < (symhdr->sh_size / bed->s->sizeof_sym))
return isympp[ghdr->sh_info - 1]; return isympp[ghdr->sh_info - 1];
} }
return NULL; return NULL;