From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25881 invoked by alias); 27 Aug 2009 05:35:57 -0000 Received: (qmail 25871 invoked by uid 22791); 27 Aug 2009 05:35:56 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-pz0-f183.google.com (HELO mail-pz0-f183.google.com) (209.85.222.183) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 27 Aug 2009 05:35:51 +0000 Received: by pzk13 with SMTP id 13so1005094pzk.25 for ; Wed, 26 Aug 2009 22:35:48 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.1.41 with SMTP id 41mr752255wfa.108.1251351348071; Wed, 26 Aug 2009 22:35:48 -0700 (PDT) In-Reply-To: <1251342694-17525-1-git-send-email-freephp@gmail.com> References: <1251342694-17525-1-git-send-email-freephp@gmail.com> From: Hui Zhu Date: Thu, 27 Aug 2009 06:34:00 -0000 Message-ID: Subject: Re: [PATCH] fixed the memory leak in record.c To: Jiang Jilin , gdb-patches ml Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-08/txt/msg00478.txt.bz2 On Thu, Aug 27, 2009 at 11:11, Jiang Jilin wrote: > =A0 =A0 =A0 =A0* record.c (record_list_release_next) : fixed memory leak = when record type is record_reg > > Signed-off-by: Jiang Jilin > --- > =A0gdb/record.c | =A0 =A07 ++++--- > =A01 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/gdb/record.c b/gdb/record.c > index 8afca6b..07e9e80 100644 > --- a/gdb/record.c > +++ b/gdb/record.c > @@ -158,9 +158,10 @@ record_list_release_next (void) > =A0 =A0 { > =A0 =A0 =A0 rec =3D tmp->next; > =A0 =A0 =A0 if (tmp->type =3D=3D record_reg) > - =A0 =A0 =A0 record_insn_num--; > - =A0 =A0 =A0else if (tmp->type =3D=3D record_reg) > - =A0 =A0 =A0 xfree (tmp->u.reg.val); > + =A0 =A0 =A0 { > + =A0 =A0 =A0 =A0 record_insn_num--; > + =A0 =A0 =A0 =A0 xfree (tmp->u.reg.val); > + =A0 =A0 =A0 } > =A0 =A0 =A0 else if (tmp->type =3D=3D record_mem) > =A0 =A0 =A0 =A0xfree (tmp->u.mem.val); > =A0 =A0 =A0 xfree (tmp); > -- > 1.5.4.3 > > Cool. Thanks for find it out. :) But this patch is not OK. This record_reg should be record_end. I make a patch for it. Thanks, Hui 2009-08-27 Hui Zhu * record.c (record_list_release_next): Change the first record_reg to record_end. --- record.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/record.c +++ b/record.c @@ -157,7 +157,7 @@ record_list_release_next (void) while (tmp) { rec =3D tmp->next; - if (tmp->type =3D=3D record_reg) + if (tmp->type =3D=3D record_end) record_insn_num--; else if (tmp->type =3D=3D record_reg) xfree (tmp->u.reg.val);