[binutils-gdb/binutils-2_35-branch] PR26483, ASAN: ppc_elf_link_params elf32-ppc.c:2314

Alan Modra amodra@sourceware.org
Thu Jan 28 08:16:09 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9010a66f2dd947815fa1b8ff10054e07ac76cc58

commit 9010a66f2dd947815fa1b8ff10054e07ac76cc58
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Aug 25 01:48:08 2020 +0930

    PR26483, ASAN: ppc_elf_link_params elf32-ppc.c:2314
    
            PR 26483
            * elf32-ppc.c (ppc_elf_hash_table): Test is_elf_hash_table before
            accessing elf_hash_table_id.
    
    (cherry picked from commit a8d549c006a2135b86186d14ab5d0d5fdb702b2f)

Diff:
---
 bfd/ChangeLog   | 8 ++++++++
 bfd/elf32-ppc.c | 5 +++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6a2e70291d4..b7b23513cb0 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,11 @@
+2021-01-28  Alan Modra  <amodra@gmail.com>
+
+	Apply from master
+	2020-08-25  Alan Modra  <amodra@gmail.com>
+	PR 26483
+	* elf32-ppc.c (ppc_elf_hash_table): Test is_elf_hash_table before
+	accessing elf_hash_table_id.
+
 2021-01-24  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR binutils/27231
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 24b1485edf6..11ae6e82f4b 100644
--- a/bfd/elf32-ppc.c
+++ b/bfd/elf32-ppc.c
@@ -2233,8 +2233,9 @@ struct ppc_elf_link_hash_table
 /* Get the PPC ELF linker hash table from a link_info structure.  */
 
 #define ppc_elf_hash_table(p) \
-  (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \
-  == PPC32_ELF_DATA ? ((struct ppc_elf_link_hash_table *) ((p)->hash)) : NULL)
+  ((is_elf_hash_table ((p)->hash)					\
+    && elf_hash_table_id (elf_hash_table (p)) == PPC32_ELF_DATA)	\
+   ? (struct ppc_elf_link_hash_table *) (p)->hash : NULL)
 
 /* Create an entry in a PPC ELF linker hash table.  */


More information about the Binutils-cvs mailing list