This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fix potential illegal memory access in Xtensa port.


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

commit d84ed528d4817b0ff854006b65a9f6ec75f0407a
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Wed Aug 2 10:38:09 2017 +0100

    Fix potential illegal memory access in Xtensa port.
    
    	* xtensa-isa.c (xtensa_isa_init): Don't update lookup table
    	entries for sysregs with negative indices.

Diff:
---
 bfd/ChangeLog    | 5 +++++
 bfd/xtensa-isa.c | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d7d53d6..fd93c30 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2017-08-02  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* xtensa-isa.c (xtensa_isa_init): Don't update lookup table
+	entries for sysregs with negative indices.
+
 2017-08-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
 
 	* elf32-s390.c (elf_s390_finish_dynamic_sections): Skip if it
diff --git a/bfd/xtensa-isa.c b/bfd/xtensa-isa.c
index 8da75be..8c6ee88 100644
--- a/bfd/xtensa-isa.c
+++ b/bfd/xtensa-isa.c
@@ -292,7 +292,8 @@ xtensa_isa_init (xtensa_isa_status *errno_p, char **error_msg_p)
       xtensa_sysreg_internal *sreg = &isa->sysregs[n];
       is_user = sreg->is_user;
 
-      isa->sysreg_table[is_user][sreg->number] = n;
+      if (sreg->number >= 0)
+	isa->sysreg_table[is_user][sreg->number] = n;
     }
 
   /* Set up the interface lookup table.  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]