[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 15/26] machine: use class base init generated name
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PULL 15/26] machine: use class base init generated name |
Date: |
Tue, 6 Sep 2016 16:26:28 +0400 |
machine_class_base_init() member name is allocated by
machine_class_base_init(), but not freed by
machine_class_finalize(). Simply freeing there doesn't work,
because DEFINE_PC_MACHINE() overwrites it with a literal string.
Fix DEFINE_PC_MACHINE() not to overwrite it, and add the missing
free to machine_class_finalize().
Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
---
hw/core/machine.c | 1 +
include/hw/boards.h | 2 +-
include/hw/i386/pc.h | 1 -
3 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/core/machine.c b/hw/core/machine.c
index e5a456f..00fbe3e 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -561,6 +561,7 @@ static void machine_class_finalize(ObjectClass *klass, void
*data)
if (mc->compat_props) {
g_array_free(mc->compat_props, true);
}
+ g_free(mc->name);
}
void machine_register_compat_props(MachineState *machine)
diff --git a/include/hw/boards.h b/include/hw/boards.h
index 3e69eca..e46a744 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -93,7 +93,7 @@ struct MachineClass {
/*< public >*/
const char *family; /* NULL iff @name identifies a standalone machtype */
- const char *name;
+ char *name;
const char *alias;
const char *desc;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 330c1f2..422fac7 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -903,7 +903,6 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
{ \
MachineClass *mc = MACHINE_CLASS(oc); \
optsfn(mc); \
- mc->name = namestr; \
mc->init = initfn; \
} \
static const TypeInfo pc_machine_type_##suffix = { \
--
2.10.0
- [Qemu-devel] [PULL 06/26] tests: fix test-vmstate leaks, (continued)
- [Qemu-devel] [PULL 06/26] tests: fix test-vmstate leaks, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 07/26] tests: fix test-iov leaks, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 08/26] tests: fix check-qom-interface leaks, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 09/26] tests: fix check-qom-proplist leaks, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 10/26] tests: fix small leak in test-io-channel-command, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 11/26] tests: fix leak in test-string-input-visitor, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 12/26] portio: keep references on portio, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 13/26] pc: simplify passing qemu_irq, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 14/26] pc: don't leak a20_line, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 16/26] acpi-build: fix array leak, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 15/26] machine: use class base init generated name,
Marc-André Lureau <=
- [Qemu-devel] [PULL 17/26] tests: fix qom-test leaks, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 18/26] pc: free i8259, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 19/26] pc: keep gsi reference, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 20/26] sd: free timer, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 21/26] ipmi: free extern timer, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 22/26] bus: simplify name handling, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 23/26] tests: add qtest_add_data_func_full, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 24/26] tests: pc-cpu-test leaks fixes, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 25/26] tests: fix rsp leak in postcopy-test, Marc-André Lureau, 2016/09/06
- [Qemu-devel] [PULL 26/26] tests: fix postcopy-test leaks, Marc-André Lureau, 2016/09/06