From: Alan Modra Date: Sun, 3 Sep 2017 12:34:09 +0000 (+0930) Subject: PR22067, x86 check_relocs invalid read X-Git-Tag: users/ARM/embedded-binutils-master-2017q4~1226 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1cf58434bf9d90ea0669f97514c63dc1ccf38f7c;p=platform%2Fupstream%2Fbinutils.git PR22067, x86 check_relocs invalid read PR 22067 * elfxx-x86.h (elf_x86_hash_table): Check is_elf_hash_table first. --- 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 + + PR 22067 + * elfxx-x86.h (elf_x86_hash_table): Check is_elf_hash_table first. + 2017-09-02 H.J. Lu * 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