This fixes parsing a file containing ELF attributes with very large tag values.
authorNick Clifton <nickc@redhat.com>
Tue, 30 Jun 2015 16:12:47 +0000 (17:12 +0100)
committerNick Clifton <nickc@redhat.com>
Tue, 30 Jun 2015 16:12:47 +0000 (17:12 +0100)
commit5ee4a1ca16364c79f8717752ee9a9bd562580907
tree31bfba06decc04d489288c9efd29d6ec5715abd8
parent9916071f8df180400e39d1783d4a878cf57c61fe
This fixes parsing a file containing ELF attributes with very large tag values.

PR binutils/18570
* elf-attrs.c (obj_attr_size): Use an unsigned int type for the tag.
(write_obj_attribute): Likewise.
(elf_new_obj_attr): Likewise.
(bfd_elf_get_obj_attr_int): Likewise.
(bfd_elf_add_obj_attr_int): Likewise.
(bfd_elf_add_obj_attr_string): Likewise.
(bfd_elf_add_obj_attr_int_string): Likewise.
(gnu_obj_attrs_arg_type): Likewise.
(_bfd_elf_obj_attrs_arg_type): Likewise.
(_bfd_elf_parse_attributes): Likewise.
(_bfd_elf_merge_unknown_attribute_list): Likewise.
* elf-bfd.h (struct obj_attribute_list): Likewise.
Update prototypes.
bfd/ChangeLog
bfd/elf-attrs.c
bfd/elf-bfd.h