From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48919) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWikk-0000tY-MG for qemu-devel@nongnu.org; Sat, 14 Mar 2015 05:53:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YWikj-0005Tf-A5 for qemu-devel@nongnu.org; Sat, 14 Mar 2015 05:53:06 -0400 Received: from qemu.weilnetz.de ([2a03:4000:2:362::1]:49943) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWikj-0005TH-41 for qemu-devel@nongnu.org; Sat, 14 Mar 2015 05:53:05 -0400 From: Stefan Weil Date: Sat, 14 Mar 2015 10:53:01 +0100 Message-Id: <1426326781-2488-1-git-send-email-sw@weilnetz.de> Subject: [Qemu-devel] [PATCH] hw/arm/highbank: Fix resource leak and wrong image loading List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: QEMU Developer Cc: Rob Herring , Stefan Weil , Peter Maydell Coverity reports a resource leak for sysboot_filename which is allocated by qemu_find_file. In addition, that name is used to get the size of the image, but a different image name was used to load it. In addition, instead of passing the maximum allowed image size the actual image size was passed to load_image_targphys. Fix all three issues. Signed-off-by: Stefan Weil --- hw/arm/highbank.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c index a92cdc3..07cb4e0 100644 --- a/hw/arm/highbank.c +++ b/hw/arm/highbank.c @@ -278,10 +278,10 @@ static void calxeda_init(MachineState *machine, enum cxmachines machine_id) if (bios_name != NULL) { sysboot_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); if (sysboot_filename != NULL) { - uint32_t filesize = get_image_size(sysboot_filename); - if (load_image_targphys("sysram.bin", 0xfff88000, filesize) < 0) { + if (load_image_targphys(sysboot_filename, 0xfff88000, 0x8000) < 0) { hw_error("Unable to load %s\n", bios_name); } + g_free(sysboot_filename); } else { hw_error("Unable to find %s\n", bios_name); } -- 1.7.10.4