From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=54513 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PeS9p-0002g7-5O for qemu-devel@nongnu.org; Sun, 16 Jan 2011 07:56:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PeS9n-0007cC-A4 for qemu-devel@nongnu.org; Sun, 16 Jan 2011 07:56:33 -0500 Received: from moutng.kundenserver.de ([212.227.126.187]:49451) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PeS9m-0007bo-Va for qemu-devel@nongnu.org; Sun, 16 Jan 2011 07:56:31 -0500 From: Stefan Weil Date: Sun, 16 Jan 2011 13:56:25 +0100 Message-Id: <1295182585-4323-1-git-send-email-weil@mail.berlios.de> Subject: [Qemu-devel] [PATCH] bsd-user: Fix possible memory leaks List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: QEMU Developers Cc: Blue Swirl These errors were reported by cppcheck: bsd-user/elfload.c:1076: error: Memory leak: s bsd-user/elfload.c:1079: error: Memory leak: syms Cc: Blue Swirl Signed-off-by: Stefan Weil --- bsd-user/elfload.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/bsd-user/elfload.c b/bsd-user/elfload.c index 7374912..313ddc6 100644 --- a/bsd-user/elfload.c +++ b/bsd-user/elfload.c @@ -1072,11 +1072,16 @@ static void load_symbols(struct elfhdr *hdr, int fd) /* Now know where the strtab and symtab are. Snarf them. */ s = malloc(sizeof(*s)); syms = malloc(symtab.sh_size); - if (!syms) + if (!syms) { + free(s); return; + } s->disas_strtab = strings = malloc(strtab.sh_size); - if (!s->disas_strtab) + if (!s->disas_strtab) { + free(s); + free(syms); return; + } lseek(fd, symtab.sh_offset, SEEK_SET); if (read(fd, syms, symtab.sh_size) != symtab.sh_size) -- 1.7.2.3