diff options
author | Gonglei <arei.gonglei@huawei.com> | 2015-03-05 10:58:32 +0800 |
---|---|---|
committer | Michael Tokarev <mjt@tls.msk.ru> | 2015-03-19 11:11:55 +0300 |
commit | 6e05a12f8f7f32a3fecbeb0c572d549a5f6e9177 (patch) | |
tree | 32b8b7e4255cb5efdb4c8ab354efd02a19cc3c55 | |
parent | 293811f6c1630e3b37aa9d214c6596ce854ab2c7 (diff) |
arm: fix memory leak
Cc: Michael Tokarev <mjt@tls.msk.ru>
Cc: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
-rw-r--r-- | hw/arm/digic_boards.c | 1 | ||||
-rw-r--r-- | hw/arm/highbank.c | 1 | ||||
-rw-r--r-- | hw/arm/vexpress.c | 3 | ||||
-rw-r--r-- | hw/arm/virt.c | 3 |
4 files changed, 6 insertions, 2 deletions
diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c index 7114c36e38..e576646e86 100644 --- a/hw/arm/digic_boards.c +++ b/hw/arm/digic_boards.c @@ -113,6 +113,7 @@ static void digic_load_rom(DigicBoardState *s, hwaddr addr, error_report("Couldn't load rom image '%s'.", filename); exit(1); } + g_free(fn); } } diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c index a92cdc3322..ddd10dc26f 100644 --- a/hw/arm/highbank.c +++ b/hw/arm/highbank.c @@ -282,6 +282,7 @@ static void calxeda_init(MachineState *machine, enum cxmachines machine_id) if (load_image_targphys("sysram.bin", 0xfff88000, filesize) < 0) { hw_error("Unable to load %s\n", bios_name); } + g_free(sysboot_filename); } else { hw_error("Unable to find %s\n", bios_name); } diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c index 8496c1622a..e9a7cede64 100644 --- a/hw/arm/vexpress.c +++ b/hw/arm/vexpress.c @@ -562,7 +562,7 @@ static void vexpress_common_init(MachineState *machine) * If a bios file was provided, attempt to map it into memory */ if (bios_name) { - const char *fn; + char *fn; if (drive_get(IF_PFLASH, 0, 0)) { error_report("The contents of the first flash device may be " @@ -576,6 +576,7 @@ static void vexpress_common_init(MachineState *machine) error_report("Could not load ROM image '%s'", bios_name); exit(1); } + g_free(fn); } /* Motherboard peripherals: the wiring is the same but the diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 9072bc2b1c..b2eaea8353 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -552,7 +552,7 @@ static void create_flash(const VirtBoardInfo *vbi) char *nodename; if (bios_name) { - const char *fn; + char *fn; if (drive_get(IF_PFLASH, 0, 0)) { error_report("The contents of the first flash device may be " @@ -565,6 +565,7 @@ static void create_flash(const VirtBoardInfo *vbi) error_report("Could not load ROM image '%s'", bios_name); exit(1); } + g_free(fn); } create_one_flash("virt.flash0", flashbase, flashsize); |