On 12/02/2011 11:23 AM, Li Zhi Hui wrote:
Signed-off-by: Li Zhi Hui<address@hidden>
---
hw/smbus_eeprom.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/hw/smbus_eeprom.c b/hw/smbus_eeprom.c
index 5d080ab..d66fbbc 100644
--- a/hw/smbus_eeprom.c
+++ b/hw/smbus_eeprom.c
@@ -142,4 +142,5 @@ void smbus_eeprom_init(i2c_bus *smbus, int nb_eeprom,
qdev_prop_set_ptr(eeprom, "data", eeprom_buf + (i * 256));
qdev_init_nofail(eeprom);
}
+ g_free(eeprom_buf);
}
The memory pointed by eeprom_buf is used as 'data' buf of 8
SMBusEEPROMDevice after initialization. And it calls qdev_init_nofail,
which will exit on failure. it should be ok to leave it there. Anyway,
you shouldn't free it in the initialization.
Mark.