diff options
author | Akihiko Odaki <akihiko.odaki@daynix.com> | 2024-03-07 19:20:54 +0900 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2024-03-11 17:06:06 +0000 |
commit | 2aa205f7c6339cb46d26473a0434a292fc3d32cf (patch) | |
tree | e9c892a8cebb8da0076826f71adc3bded9b5c6e9 /contrib/elf2dmp/main.c | |
parent | a6a62ef5751371a82a9fb3ce67190d38a7f465fb (diff) |
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>
Diffstat (limited to 'contrib/elf2dmp/main.c')
-rw-r--r-- | contrib/elf2dmp/main.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/contrib/elf2dmp/main.c b/contrib/elf2dmp/main.c index 9347b0cd5a..32dc8bac6a 100644 --- a/contrib/elf2dmp/main.c +++ b/contrib/elf2dmp/main.c @@ -549,7 +549,7 @@ int main(int argc, char *argv[]) va_space_create(&vs, &ps, state->cr[3]); if (!fix_dtb(&vs, &qemu_elf)) { 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); @@ -634,7 +634,6 @@ out_pdb_file: unlink(PDB_NAME); out_ps: pa_space_destroy(&ps); -out_elf: QEMU_Elf_exit(&qemu_elf); return err; |