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>
This commit is contained in:
parent
ead5268f21
commit
f2eb665a11
@ -66,18 +66,13 @@ static uint64_t itc_tag_read(void *opaque, hwaddr addr, unsigned size)
|
|||||||
{
|
{
|
||||||
MIPSITUState *tag = (MIPSITUState *)opaque;
|
MIPSITUState *tag = (MIPSITUState *)opaque;
|
||||||
uint64_t index = addr >> 3;
|
uint64_t index = addr >> 3;
|
||||||
uint64_t ret = 0;
|
|
||||||
|
|
||||||
switch (index) {
|
if (index >= ITC_ADDRESSMAP_NUM) {
|
||||||
case 0 ... ITC_ADDRESSMAP_NUM:
|
|
||||||
ret = tag->ITCAddressMap[index];
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
qemu_log_mask(LOG_GUEST_ERROR, "Read 0x%" PRIx64 "\n", addr);
|
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)
|
static void itc_reconfigure(MIPSITUState *tag)
|
||||||
|
Loading…
Reference in New Issue
Block a user