From unknown Sat Aug 09 13:16:15 2025 X-Loop: help-debbugs@gnu.org Subject: bug#17341: memory leak in dfa.c Resent-From: Aharon Robbins Original-Sender: "Debbugs-submit" Resent-CC: bug-grep@gnu.org Resent-Date: Fri, 25 Apr 2014 03:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 17341 X-GNU-PR-Package: grep X-GNU-PR-Keywords: To: 17341@debbugs.gnu.org X-Debbugs-Original-To: bug-grep@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.139839613832585 (code B ref -1); Fri, 25 Apr 2014 03:23:02 +0000 Received: (at submit) by debbugs.gnu.org; 25 Apr 2014 03:22:18 +0000 Received: from localhost ([127.0.0.1]:57737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdWiP-0008TV-Lk for submit@debbugs.gnu.org; Thu, 24 Apr 2014 23:22:17 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58030) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdWiN-0008TK-5M for submit@debbugs.gnu.org; Thu, 24 Apr 2014 23:22:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WdWiD-0007TV-7w for submit@debbugs.gnu.org; Thu, 24 Apr 2014 23:22:15 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,T_MANY_HDRS_LCASE autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:37542) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WdWiD-0007TP-4Q for submit@debbugs.gnu.org; Thu, 24 Apr 2014 23:22:05 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60478) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WdUYu-0007Am-Nf for bug-grep@gnu.org; Thu, 24 Apr 2014 21:05:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WdPBk-0003oP-RQ for bug-grep@gnu.org; Thu, 24 Apr 2014 15:20:12 -0400 Received: from mxout1.netvision.net.il ([194.90.9.20]:42027) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WdPBk-0003Z4-Km for bug-grep@gnu.org; Thu, 24 Apr 2014 15:20:04 -0400 MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII Received: from skeeve.com ([89.139.11.172]) by mxout1.netvision.net.il (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPS id <0N4J00MN0V199BT0@mxout1.netvision.net.il> for bug-grep@gnu.org; Thu, 24 Apr 2014 22:19:58 +0300 (IDT) Received: from skeeve.com (skeeve.com [127.0.0.1]) by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id s3OJJsru030719 for ; Thu, 24 Apr 2014 22:19:54 +0300 Received: (from arnold@localhost) by skeeve.com (8.14.4/8.14.4/Submit) id s3OJJrAG030718 for bug-grep@gnu.org; Thu, 24 Apr 2014 22:19:53 +0300 From: Aharon Robbins Message-id: <201404241919.s3OJJrAG030718@skeeve.com> Date: Thu, 24 Apr 2014 22:19:53 +0300 User-Agent: Heirloom mailx 12.5 6/20/10 X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi. Thanks to valgrind, I tracked down this memory leak in dfa.c. dfasuperset() when it does dfafree(sup) doesn't free(sup). Here's the fix. Thanks, Arnold ----------------------- diff --git a/src/dfa.c b/src/dfa.c index 8fc3d6f..9106814 100644 --- a/src/dfa.c +++ b/src/dfa.c @@ -3533,7 +3533,10 @@ dfasuperset (struct dfa *d) sup->tindex = j; if ((d->mb_cur_max == 1 && !have_achar) || !have_nchar) - dfafree (sup); + { + dfafree (sup); + free (sup); + } else d->superset = sup; } From unknown Sat Aug 09 13:16:15 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Aharon Robbins Subject: bug#17341: closed (Re: bug#17341: memory leak in dfa.c) Message-ID: References: <535A010C.2000604@cs.ucla.edu> <201404241919.s3OJJrAG030718@skeeve.com> X-Gnu-PR-Message: they-closed 17341 X-Gnu-PR-Package: grep Reply-To: 17341@debbugs.gnu.org Date: Fri, 25 Apr 2014 06:31:04 +0000 Content-Type: multipart/mixed; boundary="----------=_1398407464-27038-1" This is a multi-part message in MIME format... ------------=_1398407464-27038-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #17341: memory leak in dfa.c which was filed against the grep package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 17341@debbugs.gnu.org. --=20 17341: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D17341 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1398407464-27038-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 17341-done) by debbugs.gnu.org; 25 Apr 2014 06:30:51 +0000 Received: from localhost ([127.0.0.1]:57863 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdZes-00071f-GB for submit@debbugs.gnu.org; Fri, 25 Apr 2014 02:30:50 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:60226) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdZeo-00071V-AV for 17341-done@debbugs.gnu.org; Fri, 25 Apr 2014 02:30:47 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 6C98339E8012; Thu, 24 Apr 2014 23:30:45 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LPqHexKw+DI0; Thu, 24 Apr 2014 23:30:37 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id E7A6839E8011; Thu, 24 Apr 2014 23:30:36 -0700 (PDT) Message-ID: <535A010C.2000604@cs.ucla.edu> Date: Thu, 24 Apr 2014 23:30:36 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Aharon Robbins , 17341-done@debbugs.gnu.org Subject: Re: bug#17341: memory leak in dfa.c References: <201404241919.s3OJJrAG030718@skeeve.com> In-Reply-To: <201404241919.s3OJJrAG030718@skeeve.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17341-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) Thanks, I merged that into the master version. ------------=_1398407464-27038-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 25 Apr 2014 03:22:18 +0000 Received: from localhost ([127.0.0.1]:57737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdWiP-0008TV-Lk for submit@debbugs.gnu.org; Thu, 24 Apr 2014 23:22:17 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58030) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdWiN-0008TK-5M for submit@debbugs.gnu.org; Thu, 24 Apr 2014 23:22:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WdWiD-0007TV-7w for submit@debbugs.gnu.org; Thu, 24 Apr 2014 23:22:15 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,T_MANY_HDRS_LCASE autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:37542) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WdWiD-0007TP-4Q for submit@debbugs.gnu.org; Thu, 24 Apr 2014 23:22:05 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60478) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WdUYu-0007Am-Nf for bug-grep@gnu.org; Thu, 24 Apr 2014 21:05:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WdPBk-0003oP-RQ for bug-grep@gnu.org; Thu, 24 Apr 2014 15:20:12 -0400 Received: from mxout1.netvision.net.il ([194.90.9.20]:42027) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WdPBk-0003Z4-Km for bug-grep@gnu.org; Thu, 24 Apr 2014 15:20:04 -0400 MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII Received: from skeeve.com ([89.139.11.172]) by mxout1.netvision.net.il (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPS id <0N4J00MN0V199BT0@mxout1.netvision.net.il> for bug-grep@gnu.org; Thu, 24 Apr 2014 22:19:58 +0300 (IDT) Received: from skeeve.com (skeeve.com [127.0.0.1]) by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id s3OJJsru030719 for ; Thu, 24 Apr 2014 22:19:54 +0300 Received: (from arnold@localhost) by skeeve.com (8.14.4/8.14.4/Submit) id s3OJJrAG030718 for bug-grep@gnu.org; Thu, 24 Apr 2014 22:19:53 +0300 From: Aharon Robbins Message-id: <201404241919.s3OJJrAG030718@skeeve.com> Date: Thu, 24 Apr 2014 22:19:53 +0300 To: bug-grep@gnu.org Subject: memory leak in dfa.c User-Agent: Heirloom mailx 12.5 6/20/10 X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi. Thanks to valgrind, I tracked down this memory leak in dfa.c. dfasuperset() when it does dfafree(sup) doesn't free(sup). Here's the fix. Thanks, Arnold ----------------------- diff --git a/src/dfa.c b/src/dfa.c index 8fc3d6f..9106814 100644 --- a/src/dfa.c +++ b/src/dfa.c @@ -3533,7 +3533,10 @@ dfasuperset (struct dfa *d) sup->tindex = j; if ((d->mb_cur_max == 1 && !have_achar) || !have_nchar) - dfafree (sup); + { + dfafree (sup); + free (sup); + } else d->superset = sup; } ------------=_1398407464-27038-1--