aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Weil <sw@weilnetz.de>2012-09-07 22:36:08 +0200
committerMichael Roth <mdroth@linux.vnet.ibm.com>2012-10-09 01:42:06 -0500
commit631287933e55adc272c57a6f8b3c09801c10c603 (patch)
treee0a27818b62410302d65d7343abc4d74c753083f
parent814395979efbca6b5f0ec83f7c6a77d9fba22427 (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> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r--target-cris/translate.c2
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]);