[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 04/12] i2c: Add a length check to the SMBus write
From: |
minyard |
Subject: |
[Qemu-devel] [PATCH v2 04/12] i2c: Add a length check to the SMBus write handling |
Date: |
Thu, 15 Nov 2018 13:24:38 -0600 |
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;
default:
--
2.17.1
[Qemu-devel] [PATCH v2 02/12] i2c: have I2C receive operation return uint8_t, minyard, 2018/11/15