From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32147 invoked by alias); 4 Mar 2011 09:34:13 -0000 Received: (qmail 32093 invoked by uid 22791); 4 Mar 2011 09:34:12 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from mel.act-europe.fr (HELO mel.act-europe.fr) (194.98.77.210) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 04 Mar 2011 09:34:05 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id 78971CB03A0; Fri, 4 Mar 2011 10:34:03 +0100 (CET) Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4iQUWSe1R4Qd; Fri, 4 Mar 2011 10:34:00 +0100 (CET) Received: from ulanbator.act-europe.fr (ulanbator.act-europe.fr [10.10.1.67]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mel.act-europe.fr (Postfix) with ESMTP id 50CDECB039C; Fri, 4 Mar 2011 10:34:00 +0100 (CET) Subject: Re: libiberty/cplus-dem.c, ada-demangle: plug memory leak. Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: text/plain; charset=us-ascii From: Tristan Gingold In-Reply-To: <4D700F5D.2030109@vmware.com> Date: Fri, 04 Mar 2011 09:34:00 -0000 Cc: Jakub Jelinek , "dj@redhat.com" , "gdb-patches@sourceware.org" , "gcc-patches@gcc.gnu.org" Content-Transfer-Encoding: 7bit Message-Id: <807E3430-F4F7-464D-8E8A-527A86BA3D88@adacore.com> References: <4D70061C.10904@vmware.com> <20110303213008.GY30899@tyan-ft48-01.lab.bos.redhat.com> <4D700F5D.2030109@vmware.com> To: Michael Snyder 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: 2011-03/txt/msg00277.txt.bz2 On Mar 3, 2011, at 10:59 PM, Michael Snyder wrote: > Jakub Jelinek wrote: >> On Thu, Mar 03, 2011 at 01:20:28PM -0800, Michael Snyder wrote: >>> 2011-03-03 Michael Snyder >>> >>> * libiberty/cplus-dem.c (ada_demangle): Stop memory leak. >>> Also fix a one line indent problem. >> No libiberty/ in libiberty/ChangeLog. >>> @@ -1129,10 +1129,11 @@ ada_demangle (const char *mangled, int o >>> unknown: >>> len0 = strlen (mangled); >>> + xfree (demangled); >>> demangled = XNEWVEC (char, len0 + 3); >> xfree isn't ever used in libiberty/*, use either free, or >> XDELETE/XDELETEVEC. In fact, it seems to be defined only in gdb, >> making cplus-dem.c dependent on gdb is obviously a wrong thing. > > Thanks for the review. > > How's this? > + if (demangled != NULL) > + free (demangled); No need to check that demangled is not NULL. (Nice catches!) Tristan.