From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:39233) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RR6cr-000604-Pi for qemu-devel@nongnu.org; Thu, 17 Nov 2011 13:23:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RR6cq-0007u2-Hw for qemu-devel@nongnu.org; Thu, 17 Nov 2011 13:23:53 -0500 From: Stefan Weil Date: Thu, 17 Nov 2011 19:22:58 +0100 Message-Id: <1321554178-12486-1-git-send-email-sw@weilnetz.de> Subject: [Qemu-devel] [PATCH] gdbstub: Fix GDBRegisterState memory leak and use g_new0 to allocate it List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-trivial@nongnu.org, Stefan Weil cppcheck reported a memory leak which is fixed here. I also replaced the corresponding g_malloc0 by g_new0 because that helps reviewers, and it is required by latest recommendations anyway. Signed-off-by: Stefan Weil --- gdbstub.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gdbstub.c b/gdbstub.c index a25f404..031a240 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -1781,7 +1781,7 @@ void gdb_register_coprocessor(CPUState * env, GDBRegisterState **p; static int last_reg = NUM_CORE_REGS; - s = (GDBRegisterState *)g_malloc0(sizeof(GDBRegisterState)); + s = g_new0(GDBRegisterState, 1); s->base_reg = last_reg; s->num_regs = num_regs; s->get_reg = get_reg; @@ -1790,8 +1790,10 @@ void gdb_register_coprocessor(CPUState * env, p = &env->gdb_regs; while (*p) { /* Check for duplicates. */ - if (strcmp((*p)->xml, xml) == 0) + if (strcmp((*p)->xml, xml) == 0) { + g_free(s); return; + } p = &(*p)->next; } /* Add to end of list. */ -- 1.7.2.5