mirror of https://github.com/xemu-project/xemu.git
contrib/elf2dmp: Always destroy PA space
Destroy PA space even if paging base couldn't be found, fixing memory leak. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu> Message-id: 20240307-elf2dmp-v4-11-4f324ad4d99d@daynix.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
a6a62ef575
commit
2aa205f7c6
|
@ -549,7 +549,7 @@ int main(int argc, char *argv[])
|
||||||
va_space_create(&vs, &ps, state->cr[3]);
|
va_space_create(&vs, &ps, state->cr[3]);
|
||||||
if (!fix_dtb(&vs, &qemu_elf)) {
|
if (!fix_dtb(&vs, &qemu_elf)) {
|
||||||
eprintf("Failed to find paging base\n");
|
eprintf("Failed to find paging base\n");
|
||||||
goto out_elf;
|
goto out_ps;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("CPU #0 IDT is at 0x%016"PRIx64"\n", state->idt.base);
|
printf("CPU #0 IDT is at 0x%016"PRIx64"\n", state->idt.base);
|
||||||
|
@ -634,7 +634,6 @@ out_pdb_file:
|
||||||
unlink(PDB_NAME);
|
unlink(PDB_NAME);
|
||||||
out_ps:
|
out_ps:
|
||||||
pa_space_destroy(&ps);
|
pa_space_destroy(&ps);
|
||||||
out_elf:
|
|
||||||
QEMU_Elf_exit(&qemu_elf);
|
QEMU_Elf_exit(&qemu_elf);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
|
Loading…
Reference in New Issue