From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:53563) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ROyM4-000687-RS for qemu-devel@nongnu.org; Fri, 11 Nov 2011 16:09:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ROyM3-0000WA-SG for qemu-devel@nongnu.org; Fri, 11 Nov 2011 16:09:44 -0500 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:40659) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ROyM3-0000W5-Nh for qemu-devel@nongnu.org; Fri, 11 Nov 2011 16:09:43 -0500 Message-ID: <4EBD8EED.8070001@weilnetz.de> Date: Fri, 11 Nov 2011 22:09:01 +0100 From: Stefan Weil MIME-Version: 1.0 References: <20111018011349.GA13280@zubnet.me.uk> <1318969538-10479-1-git-send-email-sw@weilnetz.de> In-Reply-To: <1318969538-10479-1-git-send-email-sw@weilnetz.de> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] gdbstub: Fix memory leak List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Blue Swirl , qemu-devel@nongnu.org Am 18.10.2011 22:25, schrieb Stefan Weil: > cppcheck report: > gdbstub.c:1781: error: Memory leak: s > > Rearranging of the code avoids the leak. > > v2: > Replace the g_malloc0() by g_new0() (suggested by Stuart Brady). > > Signed-off-by: Stefan Weil > --- > gdbstub.c | 14 ++++++++------ > 1 files changed, 8 insertions(+), 6 deletions(-) > > diff --git a/gdbstub.c b/gdbstub.c > index 4009058..8bf7167 100644 > --- a/gdbstub.c > +++ b/gdbstub.c > @@ -1768,12 +1768,6 @@ void gdb_register_coprocessor(CPUState * env, > GDBRegisterState **p; > static int last_reg = NUM_CORE_REGS; > > - s = (GDBRegisterState *)g_malloc0(sizeof(GDBRegisterState)); > - s->base_reg = last_reg; > - s->num_regs = num_regs; > - s->get_reg = get_reg; > - s->set_reg = set_reg; > - s->xml = xml; > p =&env->gdb_regs; > while (*p) { > /* Check for duplicates. */ > @@ -1781,6 +1775,14 @@ void gdb_register_coprocessor(CPUState * env, > return; > p =&(*p)->next; > } > + > + s = g_new0(GDBRegisterState, 1); > + s->base_reg = last_reg; > + s->num_regs = num_regs; > + s->get_reg = get_reg; > + s->set_reg = set_reg; > + s->xml = xml; > + > /* Add to end of list. */ > last_reg += num_regs; > *p = s; > Ping? This patch is still missing for QEMU 1.0. Kind regards, Stefan Weil