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