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:
parent
bcc3a8bca1
commit
c09ec62dde
|
@ -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.
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue