diff options
author | Stefan Weil <sw@weilnetz.de> | 2012-09-07 22:36:08 +0200 |
---|---|---|
committer | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2012-09-08 06:30:25 +0200 |
commit | c001ed15f7bfeaa3cabde5c9cc79c4dfdb674769 (patch) | |
tree | 79ef155c305f3c5eed3e5b36ff1d76094bce31b8 /target-cris/translate.c | |
parent | 03e6e5017757645f00b2f3b4f3a257973985e455 (diff) |
target-cris: Fix buffer overflow
Report from smatch:
target-cris/translate.c:3464 cpu_dump_state(32) error:
buffer overflow 'env->sregs' 4 <= 255
sregs is declared 'uint32_t sregs[4][16]', so the first index must be
less than 4 or ARRAY_SIZE(env->sregs).
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Diffstat (limited to 'target-cris/translate.c')
-rw-r--r-- | target-cris/translate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target-cris/translate.c b/target-cris/translate.c index 1ad9ec788e..ad3187773e 100644 --- a/target-cris/translate.c +++ b/target-cris/translate.c @@ -3458,7 +3458,7 @@ void cpu_dump_state (CPUCRISState *env, FILE *f, fprintf_function cpu_fprintf, } srs = env->pregs[PR_SRS]; cpu_fprintf(f, "\nsupport function regs bank %x:\n", srs); - if (srs < 256) { + if (srs < ARRAY_SIZE(env->sregs)) { for (i = 0; i < 16; i++) { cpu_fprintf(f, "s%2.2d=%8.8x ", i, env->sregs[srs][i]); |