qbus: fix memory leak in qbus_free()
authorIsaku Yamahata <yamahata@valinux.co.jp>
Thu, 27 May 2010 05:35:58 +0000 (14:35 +0900)
committerBlue Swirl <blauwirbel@gmail.com>
Thu, 10 Jun 2010 16:50:11 +0000 (16:50 +0000)
BusState::name is allocated in qbus_create_inplace().
So it should be freed by qbus_free().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hw/qdev.c

index aa2ce01..36f29ea 100644 (file)
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -700,6 +700,7 @@ void qbus_free(BusState *bus)
         QLIST_REMOVE(bus, sibling);
         bus->parent->num_child_bus--;
     }
+    qemu_free((void*)bus->name);
     if (bus->qdev_allocated) {
         qemu_free(bus);
     }