[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.7 v3 17/36] machine: use class base init g
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH for-2.7 v3 17/36] machine: use class base init generated name |
Date: |
Thu, 04 Aug 2016 15:56:57 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
address@hidden writes:
> From: Marc-André Lureau <address@hidden>
>
> Remove machine class name initialization from DEFINE_PC_MACHINE, rely on
> class base init name generation instead. Get rid of some leaks that way.
>
> Signed-off-by: Marc-André Lureau <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 eb1d414..afd025a 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 = { \
I guess there are is at least one assignment to mc->name not visible in
this patch that assigns an allocated string, which leaks before the
patch. The commit message seems to provide a clue "class base init name
generation". I could probably find it with some effort, but patches
that take that much work to understand make me grumpy. Please provide
another clue :)
- [Qemu-devel] [PATCH for-2.7 v3 15/36] pc: simplify passing qemu_irq, (continued)
- [Qemu-devel] [PATCH for-2.7 v3 15/36] pc: simplify passing qemu_irq, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 20/36] char: free MuxDriver when closing, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 21/36] tests: fix qom-test leaks, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 18/36] acpi-build: fix array leak, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 22/36] pc: free i8259, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 16/36] pc: don't leak a20_line, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 19/36] char: free the tcp connection data when closing, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 17/36] machine: use class base init generated name, marcandre . lureau, 2016/08/03
- Re: [Qemu-devel] [PATCH for-2.7 v3 17/36] machine: use class base init generated name,
Markus Armbruster <=
- [Qemu-devel] [PATCH for-2.7 v3 23/36] pc: keep gsi reference, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 24/36] ahci: free irqs array, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 25/36] sd: free timer, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 26/36] qjson: free str, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 27/36] virtio-input: free config list, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 28/36] ipmi: free extern timer, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 29/36] usb: free USBDevice.strings, marcandre . lureau, 2016/08/03