From: Roland McGrath Date: Thu, 9 Jan 2014 18:13:10 +0000 (-0800) Subject: Fix buffer underrun in i386-dis.c. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e2e6193d65a20e6b7fccba288e5d1bc45b78d194;p=binutils-gdb.git Fix buffer underrun in i386-dis.c. opcodes/ * i386-dis.c (print_insn): Do not touch all_prefixes[-1] when last_rex_prefix is -1. --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 8f080b6d939..4d8b86602eb 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2014-01-09 Bradley Nelson + Roland McGrath + + * i386-dis.c (print_insn): Do not touch all_prefixes[-1] when + last_rex_prefix is -1. + 2014-01-08 H.J. Lu * i386-gen.c (process_copyright): Update copyright year to 2014. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 2c28e52cc89..f2ec8c4947e 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -12645,7 +12645,7 @@ print_insn (bfd_vma pc, disassemble_info *info) } /* Check if the REX prefix is used. */ - if (rex_ignored == 0 && (rex ^ rex_used) == 0) + if (rex_ignored == 0 && (rex ^ rex_used) == 0 && last_rex_prefix >= 0) all_prefixes[last_rex_prefix] = 0; /* Check if the SEG prefix is used. */