[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 5/6] hw/i2c: pmbus: block uninitialised string reads
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 5/6] hw/i2c: pmbus: block uninitialised string reads |
Date: |
Thu, 30 Mar 2023 15:18:55 +0200 |
From: Titus Rwantare <titusr@google.com>
Devices models calling pmbus_send_string can't be relied upon to
send a non-zero pointer. This logs an error and doesn't segfault.
Reviewed-by: Patrick Venture <venture@google.com>
Signed-off-by: Titus Rwantare <titusr@google.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230322175513.1550412-5-titusr@google.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/i2c/pmbus_device.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/hw/i2c/pmbus_device.c b/hw/i2c/pmbus_device.c
index c3d6046784..44fe4eddbb 100644
--- a/hw/i2c/pmbus_device.c
+++ b/hw/i2c/pmbus_device.c
@@ -94,6 +94,13 @@ void pmbus_send64(PMBusDevice *pmdev, uint64_t data)
void pmbus_send_string(PMBusDevice *pmdev, const char *data)
{
+ if (!data) {
+ qemu_log_mask(LOG_GUEST_ERROR,
+ "%s: %s: uninitialised read from 0x%02x\n",
+ __func__, DEVICE(pmdev)->canonical_path, pmdev->code);
+ return;
+ }
+
size_t len = strlen(data);
g_assert(len > 0);
g_assert(len + pmdev->out_buf_len < SMBUS_DATA_MAX_LEN);
--
2.38.1
- [PULL 0/6] Misc fixes for 2023-03-30, Philippe Mathieu-Daudé, 2023/03/30
- [PULL 1/6] linux-user/sparc: Don't use 16-bit UIDs on SPARC V9, Philippe Mathieu-Daudé, 2023/03/30
- [PULL 2/6] linux-user/mips: Use P5600 as default CPU to run NaN2008 ELF binaries, Philippe Mathieu-Daudé, 2023/03/30
- [PULL 3/6] hw/mips/gt64xxx_pci: Don't endian-swap GT_PCI0_CFGADDR, Philippe Mathieu-Daudé, 2023/03/30
- [PULL 5/6] hw/i2c: pmbus: block uninitialised string reads,
Philippe Mathieu-Daudé <=
- [PULL 4/6] tests/avocado: Enable TuxRun/mips64 (big-endian) test, Philippe Mathieu-Daudé, 2023/03/30
- [PULL 6/6] block/dmg: Ignore C99 prototype declaration mismatch from <lzfse.h>, Philippe Mathieu-Daudé, 2023/03/30
- Re: [PULL 0/6] Misc fixes for 2023-03-30, Peter Maydell, 2023/03/31