From patchwork Sun Mar 6 22:44:44 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Snyder X-Patchwork-Id: 85598 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 4BA26B70FC for ; Mon, 7 Mar 2011 09:44:55 +1100 (EST) Received: (qmail 8452 invoked by alias); 6 Mar 2011 22:44:52 -0000 Received: (qmail 8412 invoked by uid 22791); 6 Mar 2011 22:44:51 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_HI, SHORT_BODY, TW_RG, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp-outbound-2.vmware.com (HELO smtp-outbound-2.vmware.com) (65.115.85.73) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 06 Mar 2011 22:44:45 +0000 Received: from mailhost4.vmware.com (mailhost4.vmware.com [10.16.67.124]) by smtp-outbound-2.vmware.com (Postfix) with ESMTP id B2D0E34002; Sun, 6 Mar 2011 14:44:44 -0800 (PST) Received: from msnyder-server.eng.vmware.com (promd-2s-dhcp138.eng.vmware.com [10.20.124.138]) by mailhost4.vmware.com (Postfix) with ESMTP id A7B57C9F93; Sun, 6 Mar 2011 14:44:44 -0800 (PST) Message-ID: <4D740E5C.9060906@vmware.com> Date: Sun, 06 Mar 2011 14:44:44 -0800 From: Michael Snyder User-Agent: Thunderbird 2.0.0.24 (X11/20101201) MIME-Version: 1.0 To: "gdb-patches@sourceware.org" , "gcc-patches@gcc.gnu.org" , "dj@redhat.com" Subject: [RFA] libiberty/argv.c, expandargv, close memory leak Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org OK? 2011-03-06 Michael Snyder * argv.c (expandargv): Close memory leak. Index: argv.c =================================================================== RCS file: /cvs/src/src/libiberty/argv.c,v retrieving revision 1.22 diff -u -p -r1.22 argv.c --- argv.c 13 Aug 2010 11:36:10 -0000 1.22 +++ argv.c 6 Mar 2011 22:41:02 -0000 @@ -439,7 +439,10 @@ expandargv (int *argcp, char ***argvp) due to CR/LF->CR translation when reading text files. That does not in-and-of itself indicate failure. */ && ferror (f)) - goto error; + { + xfree (buffer); + goto error; + } /* Add a NUL terminator. */ buffer[len] = '\0'; /* If the file is empty or contains only whitespace, buildargv would