diff options
author | Alan Modra <amodra@gmail.com> | 2017-09-03 22:04:09 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2017-09-03 22:09:38 +0930 |
commit | 1cf58434bf9d90ea0669f97514c63dc1ccf38f7c (patch) | |
tree | bca699596adddfe129b352d5dcb880c7a2081f9b /bfd | |
parent | 23fdd69e42180578b3e15ba8f053fadde965bfe8 (diff) | |
download | fsf-binutils-gdb-1cf58434bf9d90ea0669f97514c63dc1ccf38f7c.zip fsf-binutils-gdb-1cf58434bf9d90ea0669f97514c63dc1ccf38f7c.tar.gz fsf-binutils-gdb-1cf58434bf9d90ea0669f97514c63dc1ccf38f7c.tar.bz2 |
PR22067, x86 check_relocs invalid read
PR 22067
* elfxx-x86.h (elf_x86_hash_table): Check is_elf_hash_table first.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elfxx-x86.h | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4190878..958b89d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2017-09-03 Alan Modra <amodra@gmail.com> + + PR 22067 + * elfxx-x86.h (elf_x86_hash_table): Check is_elf_hash_table first. + 2017-09-02 H.J. Lu <hongjiu.lu@intel.com> * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Initialize diff --git a/bfd/elfxx-x86.h b/bfd/elfxx-x86.h index 61244f5..9c0dcbbe 100644 --- a/bfd/elfxx-x86.h +++ b/bfd/elfxx-x86.h @@ -41,7 +41,8 @@ #define ELIMINATE_COPY_RELOCS 1 #define elf_x86_hash_table(p, id) \ - (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) == (id) \ + (is_elf_hash_table ((p)->hash) \ + && elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) == (id) \ ? ((struct elf_x86_link_hash_table *) ((p)->hash)) : NULL) /* Is a undefined weak symbol which is resolved to 0. Reference to an |