From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21104 invoked by alias); 5 Aug 2007 18:52:14 -0000 Received: (qmail 20983 invoked by uid 22791); 5 Aug 2007 18:52:13 -0000 X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO brahms.sibelius.xs4all.nl) (82.92.89.47) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 05 Aug 2007 18:52:11 +0000 Received: from brahms.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by brahms.sibelius.xs4all.nl (8.14.0/8.14.0) with ESMTP id l75Iq0OM027356; Sun, 5 Aug 2007 20:52:00 +0200 (CEST) Received: (from kettenis@localhost) by brahms.sibelius.xs4all.nl (8.14.0/8.14.0/Submit) id l75Iq0Du032483; Sun, 5 Aug 2007 20:52:00 +0200 (CEST) Date: Sun, 05 Aug 2007 18:52:00 -0000 Message-Id: <200708051852.l75Iq0Du032483@brahms.sibelius.xs4all.nl> From: Mark Kettenis To: msnyder@sonic.net CC: gdb-patches@sourceware.org In-reply-to: <9892.12.7.175.2.1186278669.squirrel@webmail.sonic.net> (msnyder@sonic.net) Subject: Re: [PATCH] c-exp.y, memory leak References: <9892.12.7.175.2.1186278669.squirrel@webmail.sonic.net> 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: 2007-08/txt/msg00109.txt.bz2 > Date: Sat, 4 Aug 2007 18:51:09 -0700 (PDT) > From: msnyder@sonic.net > > 2007-08-04 Michael Snyder > > * c-exp.y (parse_number): Memory leak. Shouldn't this use xfree()? > Index: c-exp.y > =================================================================== > RCS file: /cvs/src/src/gdb/c-exp.y,v > retrieving revision 1.38 > diff -p -r1.38 c-exp.y > *** c-exp.y 12 Jun 2007 15:33:03 -0000 1.38 > --- c-exp.y 5 Aug 2007 01:49:51 -0000 > *************** parse_number (p, len, parsed_float, puti > *** 1096,1104 **** > putithere->typed_val_float.type = > builtin_type (current_gdbarch)->builtin_long_double; > else > ! return ERROR; > } > > return FLOAT; > } > > --- 1096,1108 ---- > putithere->typed_val_float.type = > builtin_type (current_gdbarch)->builtin_long_double; > else > ! { > ! free (s); > ! return ERROR; > ! } > } > > + free (s); > return FLOAT; > }