sim: bfin: avoid stack error under asan

We set up an array of 3 elements and then index into it with a 2bit
value.  We check the range before we actually use the pointer, but
the indexing is enough to make asan upset, so just stuff a fourth
value in there to keep things simple.
This commit is contained in:
Mike Frysinger
2015-12-26 18:22:37 -05:00
parent dea10706e9
commit 236bf91feb
2 changed files with 5 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2015-12-26 Mike Frysinger <vapier@gentoo.org>
* bfin-sim.c (decode_LDST_0): Add 4th element to posts array.
2015-12-26 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_create_inferior): Update comment and argv check.

View File

@ -3292,7 +3292,7 @@ decode_LDST_0 (SIM_CPU *cpu, bu16 iw0)
int aop = ((iw0 >> LDST_aop_bits) & LDST_aop_mask);
int reg = ((iw0 >> LDST_reg_bits) & LDST_reg_mask);
int ptr = ((iw0 >> LDST_ptr_bits) & LDST_ptr_mask);
const char * const posts[] = { "++", "--", "" };
const char * const posts[] = { "++", "--", "", "<INV>" };
const char *post = posts[aop];
const char *ptr_name = get_preg_name (ptr);