On 12/02/2011 11:23 AM, Li Zhi Hui wrote:
Signed-off-by: Li Zhi Hui<zhihu...@linux.vnet.ibm.com>
---
  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.


Reply via email to