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.
This commit is contained in:
Roland McGrath 2014-01-09 10:13:10 -08:00
parent 0000e5ccd8
commit e2e6193d65
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2014-01-09 Bradley Nelson <bradnelson@google.com>
Roland McGrath <mcgrathr@google.com>
* i386-dis.c (print_insn): Do not touch all_prefixes[-1] when
last_rex_prefix is -1.
2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (process_copyright): Update copyright year to 2014.

View File

@ -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. */