Le 06/08/2020 à 15:09, Philippe Mathieu-Daudé a écrit :
> Devices incorrectly modelled might use invalid index while
> calling sysbus_mmio_get_region(), leading to OOB access.
> Help developers by asserting the index is in range.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org>
> ---
>  hw/core/sysbus.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c
> index 77ab351ce1..294f90b7de 100644
> --- a/hw/core/sysbus.c
> +++ b/hw/core/sysbus.c
> @@ -199,6 +199,7 @@ void sysbus_init_mmio(SysBusDevice *dev, MemoryRegion 
> *memory)
>  
>  MemoryRegion *sysbus_mmio_get_region(SysBusDevice *dev, int n)
>  {
> +    assert(n >= 0 && n < QDEV_MAX_MMIO);
>      return dev->mmio[n].memory;
>  }
>  
> 

Applied to my trivial-patches branch.

Thanks,
Laurent


Reply via email to