diff options
author | Leon Alrae | 2016-04-04 10:59:00 +0200 |
---|---|---|
committer | Leon Alrae | 2016-04-08 10:19:26 +0200 |
commit | f2eb665a11a34ac9f6459f8a18c3d9d8be9ca359 (patch) | |
tree | 35f3bcd66b55f47a4a3030e21320cede36d35167 /hw/misc | |
parent | Merge remote-tracking branch 'remotes/mdroth/tags/qga-pull-2016-04-07-tag' in... (diff) | |
download | qemu-f2eb665a11a34ac9f6459f8a18c3d9d8be9ca359.tar.gz qemu-f2eb665a11a34ac9f6459f8a18c3d9d8be9ca359.tar.xz qemu-f2eb665a11a34ac9f6459f8a18c3d9d8be9ca359.zip |
hw/mips_itu: fix off-by-one reported by Coverity
Fix off-by-one error in ITC Tag read.
Remove the switch as we just want to check if index is in valid range
rather than test against list of values.
Signed-off-by: Leon Alrae <leon.alrae@imgtec.com>
Diffstat (limited to 'hw/misc')
-rw-r--r-- | hw/misc/mips_itu.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/hw/misc/mips_itu.c b/hw/misc/mips_itu.c index 8461d2379b..da5455062d 100644 --- a/hw/misc/mips_itu.c +++ b/hw/misc/mips_itu.c @@ -66,18 +66,13 @@ static uint64_t itc_tag_read(void *opaque, hwaddr addr, unsigned size) { MIPSITUState *tag = (MIPSITUState *)opaque; uint64_t index = addr >> 3; - uint64_t ret = 0; - switch (index) { - case 0 ... ITC_ADDRESSMAP_NUM: - ret = tag->ITCAddressMap[index]; - break; - default: + if (index >= ITC_ADDRESSMAP_NUM) { qemu_log_mask(LOG_GUEST_ERROR, "Read 0x%" PRIx64 "\n", addr); - break; + return 0; } - return ret; + return tag->ITCAddressMap[index]; } static void itc_reconfigure(MIPSITUState *tag) |