GNU bug report logs - #17341
memory leak in dfa.c

Previous Next

Package: grep;

Reported by: Aharon Robbins <arnold <at> skeeve.com>

Date: Fri, 25 Apr 2014 03:23:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Aharon Robbins <arnold <at> skeeve.com>
To: bug-grep <at> gnu.org
Subject: memory leak in dfa.c
Date: Thu, 24 Apr 2014 22:19:53 +0300
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;
 }




This bug report was last modified 11 years and 26 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.