From: Stefan Weil Date: Wed, 1 Apr 2015 16:57:29 +0000 (+0100) Subject: hw/arm/virt: Fix memory leak reported by Coverity X-Git-Tag: v2.7.1~1194^2~5 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=4de9a883be653f02f8c1d5dcd1066f614d9606b6;p=mirror_qemu.git hw/arm/virt: Fix memory leak reported by Coverity As the conditional statement had to be split anyway, we can also add a better error report message. Signed-off-by: Stefan Weil Message-id: 1426877982-3603-1-git-send-email-sw@weilnetz.de Signed-off-by: Peter Maydell --- diff --git a/hw/arm/virt.c b/hw/arm/virt.c index b652b07ced..7d082e233c 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -553,6 +553,7 @@ static void create_flash(const VirtBoardInfo *vbi) if (bios_name) { char *fn; + int image_size; if (drive_get(IF_PFLASH, 0, 0)) { error_report("The contents of the first flash device may be " @@ -561,7 +562,13 @@ static void create_flash(const VirtBoardInfo *vbi) exit(1); } fn = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); - if (!fn || load_image_targphys(fn, flashbase, flashsize) < 0) { + if (!fn) { + error_report("Could not find ROM image '%s'", bios_name); + exit(1); + } + image_size = load_image_targphys(fn, flashbase, flashsize); + g_free(fn); + if (image_size < 0) { error_report("Could not load ROM image '%s'", bios_name); exit(1); }