cadence_uart: Fix buffer overflow
Report from smatch: hw/cadence_uart.c:413 uart_read(13) error: buffer overflow 's->r' 18 <= 18 This fixes read access to s->r[R_MAX] which is behind the limits of s->r. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
This commit is contained in:
		
							parent
							
								
									39b384591f
								
							
						
					
					
						commit
						5d40097fc0
					
				| 
						 | 
				
			
			@ -404,7 +404,7 @@ static uint64_t uart_read(void *opaque, target_phys_addr_t offset,
 | 
			
		|||
    uint32_t c = 0;
 | 
			
		||||
 | 
			
		||||
    offset >>= 2;
 | 
			
		||||
    if (offset > R_MAX) {
 | 
			
		||||
    if (offset >= R_MAX) {
 | 
			
		||||
        return 0;
 | 
			
		||||
    } else if (offset == R_TX_RX) {
 | 
			
		||||
        uart_read_rx_fifo(s, &c);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue