From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5701 invoked by alias); 29 Jun 2007 02:56:47 -0000 Received: (qmail 5690 invoked by uid 22791); 29 Jun 2007 02:56:47 -0000 X-Spam-Check-By: sourceware.org Received: from b.mail.sonic.net (HELO b.mail.sonic.net) (64.142.19.5) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 29 Jun 2007 02:56:41 +0000 Received: from webmail.sonic.net (b.webmail.sonic.net [64.142.100.148]) by b.mail.sonic.net (8.13.8.Beta0-Sonic/8.13.7) with ESMTP id l5T2uep1027408 for ; Thu, 28 Jun 2007 19:56:40 -0700 Received: from 12.7.175.2 (SquirrelMail authenticated user msnyder) by webmail.sonic.net with HTTP; Thu, 28 Jun 2007 19:56:40 -0700 (PDT) Message-ID: <24204.12.7.175.2.1183085800.squirrel@webmail.sonic.net> Date: Fri, 29 Jun 2007 03:36:00 -0000 Subject: [patch] memory leak, mi-cmd-var From: msnyder@sonic.net To: gdb-patches@sourceware.org User-Agent: SquirrelMail/1.4.9a MIME-Version: 1.0 Content-Type: multipart/mixed;boundary="----=_20070628195640_23225" 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-06/txt/msg00519.txt.bz2 ------=_20070628195640_23225 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Content-length: 28 'nother one from Coverity. ------=_20070628195640_23225 Content-Type: text/plain; name="formspec.txt" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="formspec.txt" Content-length: 1372 2007-06-28 Michael Snyder * mi/mi-cmd-var.c (mi_cmd_var_set_format): Free strduped memory (Coverity). Also take the opportunity to call error earlier (before strdup). Index: mi/mi-cmd-var.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-cmd-var.c,v retrieving revision 1.33 diff -p -r1.33 mi-cmd-var.c *** mi/mi-cmd-var.c 13 Jun 2007 19:08:47 -0000 1.33 --- mi/mi-cmd-var.c 29 Jun 2007 02:52:39 -0000 *************** mi_cmd_var_set_format (char *command, ch *** 209,218 **** if (var == NULL) error (_("mi_cmd_var_set_format: Variable object not found")); ! formspec = xstrdup (argv[1]); ! if (formspec == NULL) error (_("mi_cmd_var_set_format: Must specify the format as: \"natural\", \"binary\", \"decimal\", \"hexadecimal\", or \"octal\"")); len = strlen (formspec); if (strncmp (formspec, "natural", len) == 0) --- 209,220 ---- if (var == NULL) error (_("mi_cmd_var_set_format: Variable object not found")); ! if (argv[1] == NULL) error (_("mi_cmd_var_set_format: Must specify the format as: \"natural\", \"binary\", \"decimal\", \"hexadecimal\", or \"octal\"")); + formspec = xstrdup (argv[1]); + make_cleanup (xfree, formspec); + len = strlen (formspec); if (strncmp (formspec, "natural", len) == 0) ------=_20070628195640_23225--