qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 04/12] i2c: Add a length check to the SMBus w


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH v2 04/12] i2c: Add a length check to the SMBus write handling
Date: Tue, 20 Nov 2018 15:33:19 +0000

On 15 November 2018 at 19:24,  <address@hidden> wrote:
> From: Corey Minyard <address@hidden>
>
> Avoid an overflow.
>
> Signed-off-by: Corey Minyard <address@hidden>
> ---
>  hw/i2c/smbus_slave.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/hw/i2c/smbus_slave.c b/hw/i2c/smbus_slave.c
> index 83ca041b5d..fa988919d8 100644
> --- a/hw/i2c/smbus_slave.c
> +++ b/hw/i2c/smbus_slave.c
> @@ -182,7 +182,11 @@ static int smbus_i2c_send(I2CSlave *s, uint8_t data)
>      switch (dev->mode) {
>      case SMBUS_WRITE_DATA:
>          DPRINTF("Write data %02x\n", data);
> -        dev->data_buf[dev->data_len++] = data;
> +        if (dev->data_len >= sizeof(dev->data_buf)) {
> +            BADF("Too many bytes sent\n");
> +        } else {
> +            dev->data_buf[dev->data_len++] = data;
> +        }
>          break;

Reviewed-by: Peter Maydell <address@hidden>

What happens on a real device in this situation ?

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]