On 10/1/19 3:36 PM, Paolo Bonzini wrote:
> memory_region_init_* takes care of copying the name into memory it owns.
> Free it in the caller.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> hw/hppa/dino.c | 1 +
> hw/hppa/machine.c | 4 +++-
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/hw/hppa/dino.c b/hw/hppa/dino.c
> index e0466ee..ab6969b 100644
> --- a/hw/hppa/dino.c
> +++ b/hw/hppa/dino.c
> @@ -485,6 +485,7 @@ PCIBus *dino_init(MemoryRegion *addr_space,
> memory_region_init_alias(&s->pci_mem_alias[i], OBJECT(s),
> name, &s->pci_mem, addr,
> DINO_MEM_CHUNK_SIZE);
> + g_free(name);
> }
>
> /* Set up PCI view of memory: Bus master address space. */
> diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
> index 2736ce8..7e23675 100644
> --- a/hw/hppa/machine.c
> +++ b/hw/hppa/machine.c
> @@ -78,13 +78,15 @@ static void machine_hppa_init(MachineState *machine)
>
> /* Create CPUs. */
> for (i = 0; i < smp_cpus; i++) {
> + char *name = g_strdup_printf("cpu%ld-io-eir", i);
> cpu[i] = HPPA_CPU(cpu_create(machine->cpu_type));
>
> cpu_region = g_new(MemoryRegion, 1);
> memory_region_init_io(cpu_region, OBJECT(cpu[i]), &hppa_io_eir_ops,
> - cpu[i], g_strdup_printf("cpu%ld-io-eir", i), 4);
> + cpu[i], name, 4);
> memory_region_add_subregion(addr_space, CPU_HPA + i * 0x1000,
> cpu_region);
> + g_free(name);
> }
>
> /* Limit main memory. */
>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>