final.c (final): Detect out of bounds array access to the insn_lengths array.

* final.c (final): Detect out of bounds array access to
        the insn_lengths array.

From-SVN: r34901
This commit is contained in:
Jeffrey A Law 2000-07-07 13:48:38 +00:00 committed by Jeff Law
parent 3abaac67a1
commit a12cf65042
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Fri Jul 7 07:47:35 2000 Jeffrey A Law (law@cygnus.com)
* final.c (final): Detect out of bounds array access to
the insn_lengths array.
2000-07-07 Kazu Hirata <kazu@hxi.com>
* fold-const.c (fold): Fix a comment typo.

View File

@ -2014,6 +2014,12 @@ final (first, file, optimize, prescan)
for (insn = NEXT_INSN (first); insn;)
{
#ifdef HAVE_ATTR_length
#ifdef ENABLE_CHECKING
/* This can be triggered by bugs elsewhere in the compiler if
new insns are created after init_insn_lengths is called. */
if (INSN_UID (insn) >= insn_lengths_max_uid)
abort ();
#endif
insn_current_address = insn_addresses[INSN_UID (insn)];
#endif
insn = final_scan_insn (insn, file, optimize, prescan, 0);