Message ID | 1569936988-635-5-git-send-email-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
Series | fix various memory leaks (but not all) | expand |
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>
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. */
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(-)